#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <windows.h>
#define MAX 256
int main(void)
{
FILE *fa;
int i,count=0;
char ch[MAX],file[MAX]="1.txt";
if ((fa=fopen(file,"r"))==NULL)
{
puts("不能打开文件");
}
puts("请输入你要查找的行");
if (scanf("%d",&i)!=1)
puts("请输入一个选项");
rewind(fa);
do{
if((fgets(ch,MAX,fa))!=NULL)
count++;
else
{
printf("您输入的选项超出的范围\n");
Sleep(1000);
exit(1);
}
}while(count!=i);
printf("文件第%d内容是:%s",i,ch);
fclose(fa);
return 0;
}注:MAX设置时应该比文件中最大一行大1.
fgets(buf,MAX,fp)其中BUF是一个数组的名称,MAX是字符串最大长度,fp是一个FILE指针。
fgets()函数读取到它所遇到的第一个换行字符的后面,或
读取比字符串的最大长度(MAX)少一个的字符处 或
读取到文件结尾。
然后fgets()函数向末尾添加一个空字符以构成字符串。
fgets()遇到EOF的时候会返回NULL值,可以检查文件结尾。否则它返回传递给他的地址值
原文地址:http://cyuyanstudy.blog.51cto.com/2374172/1640413