#include
#include
#include
//函数返回fname指定文件的全部内容,如果打不开文件,则返回NULL,并显示打开文件错误
char*getfileall(char*fname)
{
FILE*fp;
char*str;
chartxt[1000];
intfilesize;
//打开一个文件
if((fp=fopen(fname,"r"))==NULL){
printf("打开文件%s错误\n",fname);
returnNULL;
}
//将文件指针移到末尾
fseek(fp,0,SEEK_END);
filesize=ftell(fp);//通过ftell函数获得指针到文件头的偏移字节数。
str=(char*)malloc(filesize);//动态分配str内存
//str=malloc(filesize);//动态分配str内存
str[0]=0;//字符串置空
//memset(str,filesize*sizeof(char),0);//清空数组,字符串置空第二种用法
rewind(fp);
while((fgets(txt,1000,fp))!=NULL){//循环读取1000字节,如果没有数据则退出循环
strcat(str,txt);//拼接字符串
}
fclose(fp);
returnstr;
}
intmain(intargc,char*argv[])
{
char*p;
char*fname="/tmp/test.txt";
p=getfileall(fname);
if(p!=NULL)puts(p);//输出字符串p
return0;
}
本文为仙士可原创文章,转载无需和我联系,但请注明来自仙士可博客