C语言读取文件所有内容
温馨提示:
本文最后更新于 2018年10月24日,已超过 2,285 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我。
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
//函数返回fname指定文件的全部内容,如果打不开文件,则返回NULL,并显示打开文件错误
char \*getfileall(char \*fname)
{
FILE *fp;
char *str;
char txt[1000];
int filesize;
//打开一个文件
if ((fp=fopen(fname,"r"))==NULL){
printf("打开文件%s错误\n",fname);
return NULL;
}
//将文件指针移到末尾
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);
return str;
}
int main(int argc, char *argv[])
{
char *p;
char *fname="/tmp/test.txt";
p=getfileall(fname);
if (p!=NULL) puts(p);//输出字符串p
return 0;
}
正文到此结束
- 本文标签: 编程语言
- 本文链接: https://www.php20.cn/article/150
- 版权声明: 本文由仙士可原创发布,转载请遵循《署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)》许可协议授权