gpt4 book ai didi

c - 为什么我无法通过 fwrite 将 "\0"写入文件

转载 作者:行者123 更新时间:2023-11-30 20:59:07 24 4
gpt4 key购买 nike

我正在学习如何在C中使用stdlib.h的头文件。最近我尝试通过fwrite将“\0”写入文件,但不起作用。谁能告诉我为什么?谢谢。

FILE *fp;
fp= fopen("abc.txt","w+");
fwrite("\0", 2, 1, fp);

txt文件中只有两个空格:

The result in the file

但对于其他字符串,它是有效的。

FILE *fp;
fp= fopen("abc.txt","w+");
fwrite("ab", 2, 1, fp);

The result of "ab" in the file

最佳答案

我发现您正在使用记事本。这要归咎于记事本。

因为当您在记事本中打开文件时,所有它无法识别的字符都会自动替换为' '(空格,ASCII 0x20)。您应该使用十六进制编辑器来查看它,您将得到正确的结果。

如果您想要一个文字反斜杠和一个零,请转义反斜杠:

fwrite("\\0", 2, 1, fp);
^^

关于c - 为什么我无法通过 fwrite 将 "\0"写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48483294/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com