我对 c/c++ 还很陌生,我正在尝试遵循一些指导方针,这些指导方针建议尽可能使用 stdint.h 定义的类型(uint8_t
等而不是unsigned char
)。
但是,当您调用需要char*
缓冲区的 API 时(例如recv
)的 API 时,您似乎必须使用 API 规定的任何类型。
我不明白为什么,如果你正在读取字节,你不希望它是无符号的,所以你得到的值在 0 到 255 之间而不是 -128 和 127 之间。
我不知道这是否是特定于实现的,但我只见过char
默认签名。
您是否希望将此类调用的结果转换为unsigned char*
或uint8_t*
允许您解释更高的正值?