我无符号字符数组:阅读无符号的字符转换为字符串
unsigned char buffer[BUFFER_SIZE];
我想看着strncpy()
后然而,在这个数组转换成字符串的前N个无符号的字符阅读,似乎只需要指向已签名字符的指针。我想看memcpy()
?
我无符号字符数组:阅读无符号的字符转换为字符串
unsigned char buffer[BUFFER_SIZE];
我想看着strncpy()
后然而,在这个数组转换成字符串的前N个无符号的字符阅读,似乎只需要指向已签名字符的指针。我想看memcpy()
?
不能确定确切的语法,但是,如果可能的话,你应该使用:
reinterpret_cast<char *>(buffer[i]);
另见:
Is there a good way to convert from unsigned char* to char*?
strcmp
和memcmp
比较数据,他们不将它复制...
总之,只要转换为char *
和使用任何STDLIB功能是有意义的。
如果字符串你的意思是一个字符数组,最简单的方法在C++中只是使用std ::复制,无需任何投:
unsigned char buffer[BUFFER_SIZE];
char dest[BUFFER_SIZE]
std::copy(buffer, buffer + N, dest);
如果您的意思是一个std :: string,只需使用迭代器样式的构造函数:
std::string dest(buffer, buffer + N);
缓冲区的格式是什么?全部还是半空?所有的值都有相同的大小? **你有什么尝试**? –
@ PaperBirdMaster-评论人评论。对我来说没有意义。这个问题很简单,不言自明。 – Abhineet