因為編譯原理要用到,記錄一下。
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