如何将字符串分配给固定大小的 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));