簡體   English   中英

將未簽名的字符讀入字符串

[英]Read unsigned chars into string

我有一個未簽名的字符數組:

unsigned char buffer[BUFFER_SIZE];

我想從該數組中將前N個未簽名的字符讀入字符串,但是在查看strncpy()之后,似乎只采用了指向已簽名字符的指針。

我應該看memcpy()嗎?

不確定確切的語法,但如果可能,應使用:

reinterpret_cast<char *>(buffer[i]);

另請參閱:

有沒有從unsigned char *轉換為char *的好方法?

strcmpmemcmp比較數據,他們不復制數據...

無論如何,只要將其強制轉換為char *並使用任何有意義的stdlib函數即可。

如果用字符串表示一個char數組,則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 );

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM