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 @   陈哈哈  阅读(100203)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 单线程的Redis速度为什么快?
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
点击右上角即可分享
微信分享提示