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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM