【发布时间】:2014-06-17 22:16:42
【问题描述】:
考虑下面的代码
FILE * pOutFile;
unsigned char uid;
pOutFile = fopen("OutFile.bin","w") ; // open a file to write
uid = 0x0A;
fprintf (pOutFile,"%c",uid); // Trying to print 0x0A in to the file
但我在文件中得到的打印是
0x0D 0x0A
这个 0x0D 是从哪里来的?我错过了什么吗?我必须采取什么措施来防止这种情况发生。
更正:uidl 是一个错字。
【问题讨论】:
-
回车,换行。请参阅 ASCII 表。 theasciicode.com.ar/ascii-control-characters/…
-
用
"wb"模式打开文件。 -
是的,我明白了,但是如何防止打印 0D。我只对单个字符感兴趣,那就是 0x0A。
-
@KerrekSB 谢谢。以“wb”模式打开文件可解决此问题。
-
请推广Kerrek SB评论来回答。谢谢
标签: c++ c file-io printf newline