我無符號字符數組:閱讀無符號的字符轉換爲字符串
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