私はc / c ++にかなり慣れていないので、可能であればstdint.hで定義された型(uint8_t
の代わりになどunsigned char
)を使用することを提案するいくつかのガイドラインに従おうとしています。
char*
ただし、バッファを必要とする API ( など)を呼び出す場合は、recv
その API が指示する型を使用する必要があるようです。
私が理解できないのは、バイトを読んでいる場合、それを符号なしにしたくないので、-128 と 127 の代わりに 0 と 255 の間の値を取得する理由です。
これが実装固有のものかどうかはわかりませんが、char
署名付きのデフォルトしか見たことがありません。
このような呼び出しの結果を にキャストする必要がありますか、unsigned char*
それともuint8_t*
より高い正の値を解釈できるようにする必要がありますか?