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

Small snippet For Finding Text File Size

#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 字节与记事本上的 18 字节,如果我删除每一个新行和空格,我的代码和记事本都会给出准确的答案,所以我知道它是因为新行,有人可以解释什么是错的。

这是文本文件中的内容。

qwe
ert
asd
zxc

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

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

查看Wikipedia page了解更多详情