C语言读取每一行文本

因为编译原理要用到,记录一下。

 

 1 #include <stdio.h> 
 2  
 3  int main() 
 4  { 
 5      char filename[] = "D:\\阶段性学习\\大三上\\1.课程学习\\编译原理\\0903\\实验二\\test.c"; //文件名
 6      FILE *fp; 
 7      char StrLine[1024];             //每行最大读取的字符数
 8      if((fp = fopen(filename,"r")) == NULL) //判断文件是否存在及可读
 9      { 
10          printf("error!"); 
11          return -1; 
12      } 
13  
14      while (!feof(fp)) 
15      { 
16          fgets(StrLine,1024,fp);  //读取一行
17          printf("%s\n", StrLine); //输出
18      } 
19      fclose(fp);                     //关闭文件
20      return 0; 
21  }
22  

 

2012-10-29   00:40:48

 

C语言读取指定行文本

 1 #include <stdio.h> 
 2 
 3 char * ReadSpeacialLine(int i) 
 4 { 
 5     char filename[] = "D:\\阶段性学习\\大三上\\1.课程学习\\编译原理\\0903\\实验二\\test.c"; //文件名
 6     FILE *fp; 
 7     int WhichLine=i;             //指定要读取哪一行
 8     int CurrentIndex=0;             //当前读取的行
 9     char StrLine[1024];             //每行最大读取的字符数,可根据实际情况扩大
10     if((fp = fopen(filename,"r")) == NULL) //判断文件是否存在及可读
11     { 
12         printf("error!"); 
13         return NULL; 
14     } 
15 
16     while (!feof(fp)) 
17     { 
18     
19         if (CurrentIndex==WhichLine)
20         {
21             fgets(StrLine,1024,fp);  //读取一行
22             printf("%s", StrLine); //输出
23             return StrLine;
24         }
25         fgets(StrLine,1024,fp);  //读取一行,并定位到下一行
26         CurrentIndex++;
27 
28         //printf("%s", StrLine); //输出
29     } 
30     fclose(fp);                     //关闭文件
31     return NULL; 
32 }

 

2012-10-29  01:17:58

posted @ 2012-10-29 00:41  陈哈哈  阅读(99946)  评论(0编辑  收藏  举报