我有一个无符号字符数组:
unsigned char buffer[BUFFER_SIZE];
我想将该数组中的前 N 个无符号字符读入一个字符串,但是在查看之后strncpy()
,这似乎只需要指向有符号字符的指针。
我应该看memcpy()
吗?
我有一个无符号字符数组:
unsigned char buffer[BUFFER_SIZE];
我想将该数组中的前 N 个无符号字符读入一个字符串,但是在查看之后strncpy()
,这似乎只需要指向有符号字符的指针。
我应该看memcpy()
吗?
strcmp
并memcmp
比较数据,他们不会复制它...
无论如何,只需转换char *
并使用任何有意义的 stdlib 函数。
如果用字符串表示一个字符数组,那么 C++ 中最简单的方法就是使用 std::copy,无需转换任何内容:
unsigned char buffer[BUFFER_SIZE];
char dest[BUFFER_SIZE]
std::copy( buffer, buffer + N, dest );
如果您的意思是 std::string,只需使用迭代器样式构造函数:
std::string dest( buffer, buffer + N );