码迷,mamicode.com
首页 > 其他好文 > 详细

读取文本文件中某一行

时间:2015-04-29 17:24:16      阅读:156      评论:0      收藏:0      [点我收藏+]

标签:文本文件   fgets   读取行   

#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值,可以检查文件结尾。否则它返回传递给他的地址值

读取文本文件中某一行

标签:文本文件   fgets   读取行   

原文地址:http://cyuyanstudy.blog.51cto.com/2374172/1640413

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!