我目前正在学习二进制文件写作,我有一个关于它们所持有的类型和数据的基本问题。 我正在处理描述二进制文件的文档。在标题中使用了几个uint8数据类型,但是以此类型写入的数据不是整数而是字符(“F”)。我想我必须将char“F”强制转换为一个未编组的整数,然后将其写入文件:
unsigned int var1 = (int)"F";
fwrite(var1, sizeof(var1), 1, *fp);
在十六进制编辑器中打开生成的文件时,我发现这没有用,因为编辑器应该识别字母“F”。 如何正确地将其写入文件?
非常感谢。
Draetsch
答案 0 :(得分:0)
int与int8不同,“int”具有32位,而int8具有8位。我认为你在这里寻找的数据类型是在运行时保存文件中的数据是unsigned char,而不是unsigned int。