【发布时间】:2020-01-17 14:59:57
【问题描述】:
我被教导总是 nul 终止字符数组。我理解在没有 nul 终止的情况下使用字符串库函数的含义。
以下代码是否被认为是不好的做法?
unsigned char foo[2] = { 0xFF, 0xFE }; // not null terminated
unsigned char bar[3] = { 0 };
memcpy(bar, foo, sizeof(foo));
假设您要连接两个字节数组。您不希望中间有空终止符。是声明foo[3],包含空终止符,并做sizeof(foo)-1更好还是上面的代码可以?
【问题讨论】:
-
“你正在连接两个字节数组。你不希望空终止符在中间。” ---> 为什么不呢?
1,2,0,4,5的unsigned char数组很好。 string 是字符数组的选择数据内容。并非所有字符数组都是字符串。