我对C很新,我试图使用fputc()在文件中存储一个整数。当我查看整个文件的格式不同时,该函数有效。
例如:
1)[0.5, '', 3.5]
fputc(ppm1->max, file1);
指向整数值255,但当我查看文件时,它会显示为'ÿ'。
2)
ppm1->max
fputc((char)ppm1->width, file1);
fputc(' ',file1);
fputc(ppm1->height, file1);
和ppm1->width
分别指向20和16,但在文件中它们显示为DC4 DLE。
答案 0 :(得分:1)
您所看到的是整数值的字符表示形式(转换为unsigned int
)。
对于扩展ASCII table,小数值255
代表ÿ
,这就是写入文件的内容。
也就是说,在fputc((char)ppm1->width, file1);
的情况下,转换是不必要的,因为fputc()
将int
作为第一个参数。此外,整数值20和16表示不可打印的ASCII,因此在ASCII模式下,您可能看不到任何有意义的输出。
答案 1 :(得分:0)
您可以使用fprintf()
将int写入您的文件
e.g
fprintf(/*filePointer*/,"%s %s %s %d","Write","an","integer",12);
希望这会有所帮助:)