c读取按行读取文件

c中没有getline()这个函数,该函数只存在于c++中。

有些人说用gets,但是这个函数是不安全的,gets不知道字符串的大小,容易造成溢出的问题。

解决方案,使用fgets函数

其关键在于在读出n-1个字符之前,如遇到了换行符或EOF,则读出结束。因此,通过设置适当大小的缓冲区,即可实现读取一行的功能。

#include "stdio.h"
 
int main(int argc,char** argv)
{
	FILE *fp;
	char load_file[256];
	char line[1000];
	scanf("%s",load_file);
	fp=fopen(load_file,"r");
	if(fp==NULL)
	{
		printf("can not load file!");
		return 1;
	}
	while(!feof(fp))
	{
		fgets(line,1000,fp);
		
	}
	printf("%s",line);
	fclose(fp);
	return 0;
}

本文转自:
https://blog.csdn.net/u010355144/article/details/44775441

猜你喜欢

转载自blog.csdn.net/u011857683/article/details/81263619