如何将字符串分配给固定大小的 char 数组
how to assign a string to a fixed sized char array
我正在从 json 对象中读取一个字符串。字符串可以被压缩或解压缩。如果它是压缩的,我必须解压它。因此,根据压缩条件,我想为 json_string_value 分配一个值。我知道字符串的大小,因此我希望字符串具有静态大小。
我有以下内容:
char my_string[MY_SIZE];
if( [some condition]){
//how to assign a value to my_string in this case?
} else {
...
int ret = decompress(compressed_str, compressed_str_len, my_string, MY_SIZE);
...
}
json_string_value()
returns 带有空终止符的字符串。
我设法通过使用不同的字符串文字并将值复制到
来让它工作
const char *tmp = json_string_value(image);
strcpy(my_string, tmp);
但我想知道是否有更简单(更好)的方法来做到这一点?
你不需要所有额外的变量,你可以在 strcpy()
个参数中调用函数。
strcpy(my_string, json_string_value(image));
我正在从 json 对象中读取一个字符串。字符串可以被压缩或解压缩。如果它是压缩的,我必须解压它。因此,根据压缩条件,我想为 json_string_value 分配一个值。我知道字符串的大小,因此我希望字符串具有静态大小。
我有以下内容:
char my_string[MY_SIZE];
if( [some condition]){
//how to assign a value to my_string in this case?
} else {
...
int ret = decompress(compressed_str, compressed_str_len, my_string, MY_SIZE);
...
}
json_string_value()
returns 带有空终止符的字符串。
我设法通过使用不同的字符串文字并将值复制到
来让它工作const char *tmp = json_string_value(image);
strcpy(my_string, tmp);
但我想知道是否有更简单(更好)的方法来做到这一点?
你不需要所有额外的变量,你可以在 strcpy()
个参数中调用函数。
strcpy(my_string, json_string_value(image));