用于查找文本文件大小的小片段

时间:2018-01-10 04:44:10

标签: c size notepad

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main()
{
FILE *fp;
char s[80];
int len=0;


fp=fopen("pink.txt","r");


while(fgets(s,79,fp)!=NULL)

len=len+strlen(s);   /* length of each string */
       /* spaces and newlines are also counted */

fclose(fp);

printf("length of file = %d",len);

    return 0;
}

我在这个片段上工作,它计算字符串并将它们添加到变量len中, 最终用作文本的大小,因为字符占用一个字节, 但是当我点击记事本的属性时,它给了我完全错误的答案。记事本上15个字节vs 18个字节,如果我删除每个新行和空格我的代码和记事本都给出了准确答案,所以我知道它因为新行,可以解释一下有什么问题。

这里是文本文件中的内容。

qwe
ert
asd
zxc

1 个答案:

答案 0 :(得分:1)

检查文件中新换行的编码方式。根据您的系统,新行可以在字符串中的两个字符上进行编码:

  • 回车(\ r或CR)
  • 换行(\ n或LF)
  • 两者回车+换行(\ r \ n或CRLF)

查看Wikipedia page了解详情