C语言 int flen; fseek(fp,0L,SEEK_END); /* 定位到文件末尾 */    flen=ftell(fp); /* 得到

int fien;
fseek(fp,0L,SEEK_END); /* 定位到文件末尾 */
flen=ftell(fp); /* 得到文件大小 */
想问一下,上面得到的文件的大小跟用strlen()函数得到的大小的单位是一样的吗?

我感觉如果是二进制模式打开二进制文件的话可能会不一样吧,如果文件中存储的是二进制的整数,在文本模式下打开的时候每个字节只对应这个整数十进制中的一位,这样一个5位的十进制数就可能占5个字节,而二进制下只用4个字节来存储,也就只占4个字节。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-12-08
单位都是字节长度,但ftell(fp);得到的是文件大小,strlen()得到的是字符串长度,概念不同。追问

如果
char *A = “hfffllfffkfkk”;
而且文件里的内容也是hfffllfffkfkk,那
flen和strlen(A)是不是相等呢?

追答

相等。

第2个回答  2012-12-08
strlen拿到的是字符串的个数,也就是所谓的长度。追问

如果
char *A = “hfffllfffkfkk”;
而且文件里的内容也是hfffllfffkfkk,那
flen和strlen(A)是不是相等呢?

本回答被提问者和网友采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网