C语言读取文件所有内容
- 2019 年 12 月 19 日
- 笔记
#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; }
本文为仙士可原创文章,转载无需和我联系,但请注明来自仙士可博客www.php20.cn
- 上一篇: C语言生成固定范围的随机数
- 下一篇: Rpc的实现原理以及实现一个简单的Rpc