菜鸟笔记
提升您的技术认知

C语言fgets读取整个文本文件的内容

C语言fgets环读取整个文本文件的内容

#include <stdio.h>

#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);
	str=(char *)malloc(filesize);
	str[0]=0;

	rewind(fp);
	while((fgets(txt,1000,fp))!=NULL){
		strcat(str,txt);
	}
	fclose(fp);
	return str;
}
int main(int argc, char *argv[])
{
	char *p;
	char *fname="D:\\temp.txt";
	p=getfileall(fname);
	if (p!=NULL) puts(p);
	return 0;
}