符号なし文字の配列があります:
unsigned char buffer[BUFFER_SIZE];
その配列から最初の N 個の unsigned chars を文字列に読み込みたいのですが、 をstrncpy()
参照すると、signed chars へのポインタしか取得できないようです。
私は見ているべきmemcpy()
ですか?
符号なし文字の配列があります:
unsigned char buffer[BUFFER_SIZE];
その配列から最初の N 個の unsigned chars を文字列に読み込みたいのですが、 をstrncpy()
参照すると、signed chars へのポインタしか取得できないようです。
私は見ているべきmemcpy()
ですか?
正確な構文についてはわかりませんが、可能であれば、次を使用する必要があります。
reinterpret_cast<char *>(buffer[i]);
以下も参照してください。
文字列が 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 );
strcmp
データをmemcmp
比較しますが、コピーはしません...
とにかく、char *
stdlib関数にキャストして使用するだけです。