0
用Winsock编写代码。
我现在有这样的:以十六进制表示的C++ fwrite()
fwrite(buff, 1, len, stdout);
如何做到这一点,如:
for (int i = 0; i < len; i++) {
printf("%02x ", unsigned char (buff[i]));
}
printf("\n");
或者我应该只是删除的fwrite和使用打印呢?
我想写它到标准输出,因为我有我的选择要么写入标准输出写入文件。
一个'无符号char'将晋升为'自动int',因为它是在参数列表中的变量参数部分'fprintf()'和默认促销适用于这些。转换为'unsigned char'也可以做一些很好的事情;如果'char'类型是带符号的,则转换会阻止高位设置(0x80..0xFF)字符的符号扩展。 (严格来说,'%x'需要一个'unsigned int' - 无论如何,它会将传递的内容视为一个'unsigned int')。 – 2013-04-21 21:05:13
@JonathanLeffler:谢谢! - 我不知道。答复修正。 – RichieHindle 2013-04-21 21:06:25
我明白了;我会留下我的第一条评论,因为它可能会帮助其他人;我很快就会删除这个内容,您是否删除了您的评论取决于您。 – 2013-04-21 21:07:16