c语言文件长度
① c语言读写文件,文件名长度有限制吗
有限制的,c库函数里有一种结构体_finddata_t 专门存储文件的各种信息,具体定义如下:
struct _finddata_t
{ unsigned attrib;
time_t time_access;
time_t time_write;
_fsize_t size;
char name[MAX_FNAME];
name[MAX_FNAME]就是存储的文件名。 }
其中_MAX_FNAME是一个常量宏,在stdlib.h文件中被定义,表示的是文件名的最大长度!!
都是原创的哦,不是复制粘贴过来的!!
② c语言如何计算文件大小
#include<stdio.h>
#include<stdlib.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);
}
望采纳!
③ C语言 文本文件长度
long get_file_size( FILE* fp )
{
if (fp==NULL) return -1;
fseek( fp, 0L, SEEK_END );
return ftell(fp);
}
④ 如何用C语言获取文件的大小
intfile_size(char*filename)
{
FILE*fp=fopen(filename,"r");
if(!fp)return-1;
fseek(fp,0L,SEEK_END);
intsize=ftell(fp);
fclose(fp);
returnsize;
}
(4)c语言文件长度扩展阅读
C语言获取文件长度及全部内容
FILE*fp;
fp=fopen("localfile","rb");//localfile文件名
fseek(fp,0L,SEEK_END);/*定位到文件末尾*/
flen=ftell(fp);/*得到文件大小*/
p=(char*)malloc(flen+1);/*根据文件大小动态分配内存空间*/
if(p==NULL)
{
fclose(fp);
return0;
}
fseek(fp,0L,SEEK_SET);/*定位到文件开头*/
fread(p,flen,1,fp);/*一次性读取全部文件内容*/
p[flen]=0;/*字符串结束标志*/
⑤ C语言将文件长度截断为0是什么意思
将一个现有文件的长度截断为len。如果以前文件长度大于len,超过len的部分将不能再访问。
长度截断为0相当于将文件内的数据全部删除。
⑥ 【C语言】计算文件长度,把文件内容读取到内存中
#include "stdafx.h"
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
main ()
{
string str;
ifstream f1 ( "1.txt" );
if (f1.fail())
{
cerr<<"open failure on 1.txt"<<endl;
return 1;
}
ifstream f2 ( "2.txt" );
if (f2.fail())
{
cerr<<"open failure on 2.txt"<<endl;
return 1;
}
ofstream out ( "3.txt" );
if (out.fail())
{
cerr<<"open failure on 3.txt"<<endl;
return 1;
}
while ( getline (f1, str))
{
out<<str<<endl;
}
while ( getline (f2,str))
{
out<<str<<endl;
}
f1.close();
f2.close();
out.close ();
return 0;
}
可以参照这个试试
⑦ c语言求文件长度,ftell得到文件长度为-1
C语言获取文件长度及全部内容,参考代码如下:
FILE*fp;
fp=fopen("localfile","rb");//localfile文件名
fseek(fp,0L,SEEK_END);/*定位到文件末尾*/
flen=ftell(fp);/*得到文件大小*/
p=(char*)malloc(flen+1);/*根据文件大小动态分配内存空间*/
if(p==NULL)
{
fclose(fp);
return0;
}
fseek(fp,0L,SEEK_SET);/*定位到文件开头*/
fread(p,flen,1,fp);/*一次性读取全部文件内容*/
p[flen]=0;/*字符串结束标志*/
all:strchange.o
gcc-ostrchange.o-cstrchange.c
strchange.o:strchange.c
gcc-ostrchangestrchange.o
clean:
rm-rfstrchange*.o
⑧ 用纯C语言取得文件长度
第一种方法: 也可以读取一个不定长的文件。
FILE *pFile = fopen( pFilePath, \"r\" );
if ( pFile == NULL )
{
return 0;
}
fseek( pFile, 0, SEEK_END );
iFileLen = ftell( pFile );
rewind( pFile );
m_pFileText = new char[iFileLen+1];
fread( m_pFileText, 1, iFileLen, pFile );
m_pFileText[iFileLen] = 0;
fclose( pFile );
第二种方法:
// 计算字符个数
FILE *pFile = fopen( pFilePath, \"r\" );
char ch;
int num = 0;
while ( ch = getc( pFile ) != EOF )
{
num++ ;
}
fclose( pFile );
⑨ C语言获取txt文件大小两种方法的差异
我测试了你的代码:
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
voidmain()
{
FILE*p=fopen("d:\jiuibf.txt","rt");
intlength=0;
for(;fgetc(p)!=EOF;length++);
fclose(p);
printf("第一种方式,文件长度=%d ",length);
p=fopen("d:\jiuibf.txt","rb");
fseek(p,0,2);
length=ftell(p);
fclose(p);
printf("第二种方式,文件长度=%d ",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);
程序的输出是:
FILE*fp;
fp=fopen("localfile","rb");//localfile文件名
fseek(fp,0,SEEK_SET);
fseek(fp,0,SEEK_END);
longlongBytes=ftell(fp);//longBytes就是文件的长度
⑩ C语言中如何方便地得到文件长度
告诉你一个最方便的函数:stat,例:
struct stat fileData;
if (0 == stat("C:\log.txt", &fileData))
{
printf("file size %u.", fileData.st_size);
}