因为编译原理要用到,记录一下。
1 #include2 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 #include2 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