gpt4 book ai didi

c - 为什么使用文本编辑器创建的文件比预期多了一个字节?

转载 作者:太空狗 更新时间:2023-10-29 11:12:00 25 4
gpt4 key购买 nike

我创建了一个这样的文件

a v
bb
e

在最后一行输入 e 后,我没有enter

所以第一行有四个字符 'a',' ','v','\n'.

第二行'b','b','\n'三个字符

最后一行有一个字符'e'

所以这个文件一共有8个字符。但是当我使用以下 C 程序计算字符数时:

#include<stdio.h>

/* count characters in input; 1st version */
int main()
{
long nc;

nc = 0;
while (getchar() != EOF) {
++nc;
}
printf("%ld\n", nc);

return 0;
}

它给了我9,即使我用wc命令数,还是9,为什么?

最佳答案

有理由支持所有行都以换行符结尾:

还有一些文本编辑器被设置为自动添加尾随换行符(如果还没有的话):

可能这就是您观察到意外文件大小的原因。

要检查此类文件的实际内容,我喜欢使用 hexdump:

$ hexdump -C test
00000000 61 20 76 0a 62 62 0a 65 0a |a v.bb.e.|
00000009

关于c - 为什么使用文本编辑器创建的文件比预期多了一个字节?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50578357/

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