本文目录一览:
- 1、C语言获取txt文件大小两种方法的差异
- 2、如何用C语言获取文件的大小
- 3、用C的什么函数可以得到一个文件的具体大小
- 4、c语言如何计算文件大小?
- 5、在linux系统中,用c函数能否控制输出文件的大小,如果超过规定的大小则把文件的前面的部分丢掉
- 6、c语言如何通过文件属性获取文件大小
C语言获取txt文件大小两种方法的差异
我测试了你的代码:
#includestdio.h
#includestring.h
#includestdlib.h
void main()
{
FILE *p=fopen("d:\\jiuibf.txt","rt");
int length = 0;
for(;fgetc(p)!=EOF;length++);
fclose(p);
printf("第一种方式,文件长度=%d\n",length);
p=fopen("d:\\jiuibf.txt","rb");
fseek(p,0,2);
length=ftell(p);
fclose(p);
printf("第二种方式,文件长度=%d\n",length);
}
文本文件的内容是:
FILE *p=("jiuibf.txt","rt");
int length;
for(;fgetc(p)!=EOF;length);
FILE *p=(jiuibf.txt","rb");
int length;
fseek(p,0,2);
length=ftell(p);
程序的输出是:
原因分析:
在windows下,以文本方式写入文件的\n会被转换为\r\n(也就是0x0D0A),输出的时候,\r\n会被转换回\n。
fgetc在读入时会将\r\n转换成一个\n;上面的文本文件有6个回车换行。
所以第一种方式比第二种方式少6
C语言获得文件的长度方式就是第二种:
FILE*fp;
fp=fopen("localfile","rb");// localfile文件名
fseek(fp,0,SEEK_SET);
fseek(fp,0,SEEK_END);
long longBytes=ftell(fp);// longBytes就是文件的长度
如何用C语言获取文件的大小
两种方法:
1、用stat()函数来获取
int main(){ struct stat st ; stat( "file.txt", st ); printf(" file size = %d\n", st.st_size); return 0;}2、用ftell()函数来获取-c输出文件大小
int main(){ FILE *fp; fp=fopen( "file.txt", "r"); fseek(fp, 0L, SEEK_END ); printf(" file size = %d\n", ftell(fp) ); return 0;}-c输出文件大小
用C的什么函数可以得到一个文件的具体大小
可以自己写一个
#include stdio.h
int GetFileSize(FILE*fp)
{
int np=ftell(fp); //得到当前文件指针位置
fseek(fp,0,SEEK_END); //文件指针移动到末尾
int Len=ftell(fp); //得到文件指针的位置 即文件大小
fseek(fp,np,SEEK_SET); //再把文件指针移回来
return Len;
}
c语言如何计算文件大小?
#includestdio.h
#includestdlib.h
void main()
{
FILE*fp;
int a;
if((fp=fopen("1.txt","rb"))==NULL)
{
printf("此文件无法打开");
exit(0);
}
fseek(fp,0,2);
a=ftell(fp);
printf("%d\n",a);
fclose(fp);
}
望采纳!
在linux系统中,用c函数能否控制输出文件的大小,如果超过规定的大小则把文件的前面的部分丢掉
可以申请一段内存空间,这段内存空间是一段循环队列,大小10M,最后把这段空间内容写入文件。
c语言如何通过文件属性获取文件大小
c语言可以通过stat()函数获得文件属性,通过返回的文件属性,从中获取文件大小。
#include
sys/stat.h
可见以下结构体和函数
struct
stat
{
_dev_t
st_dev;
_ino_t
st_ino;
unsigned
short
st_mode;
short
st_nlink;
short
st_uid;
short
st_gid;
_dev_t
st_rdev;
_off_t
st_size;
//文件大小
time_t
st_atime;
time_t
st_mtime;
time_t
st_ctime;
};
stat(const
char
*,
struct
_stat
*);
//根据文件名得到文件属性
参考代码:
#include sys/stat.h
void main( )
{
struct stat buf ;
if ( stat( "test.txt", buf ) 0 )
{
perror( "stat" );
return ;
}
printf("file size:%d\n", buf.st_size );
}