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)
return 0
}
fseek(fp,0L,SEEK_SET) /* 定位到文件开头 */
fread(p,flen,1,fp) /* 一次性读取全部文件内容 */
p[flen]=0 /* 字符串结束标志 */
all:strchange.o
gcc -o strchange.o -c strchange.c
strchange.o:strchange.c
gcc -o strchange strchange.o
clean:
rm -rf strchange *.o
第一种方法: 也可以读取一个不定长的文件。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 )