我正在学习如何在C中使用stdlib.h的头文件。最近,我尝试通过fwrite将“\ 0”写入文件,但它不起作用。谁能告诉我为什么?感谢。
FILE *fp;
fp= fopen("abc.txt","w+");
fwrite("\0", 2, 1, fp);
txt文件中只有两个空白:
但是对于其他字符串,它可以工作。
FILE *fp;
fp= fopen("abc.txt","w+");
fwrite("ab", 2, 1, fp);
答案 0 :(得分:1)
我看到你正在使用记事本。责备记事本。
因为当您在记事本中打开文件时,它无法识别的所有字符将自动替换为' '
(空格,ASCII 0x20)。您应该使用十六进制编辑器来查看它,并且您将获得正确的结果。
如果你想要一个文字反斜杠和零,请转义反斜杠:
fwrite("\\0", 2, 1, fp);
^^