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

作者:kissazi2 
出处:http://www.cnblogs.com/kissazi2/ 
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

转载:http://www.cnblogs.com/kissazi2/archive/2012/10/29/2744153.html

时间: 2024-09-15 06:47:18

C语言读取每一行文本的相关文章

C语言读取配置文件的另类写法

前些天写了一篇<标准输出的重定向>,这几天又遇到了读取配置文件的任务,想一改原来的" FILE* fp --"之类的写法,换用一种新的灵活性更高的方式,即把标准输出重定向到一个管道的写端,再从管道的读端获取内容.     首先我们有这样一个函数,用来获取system调用的输出: static int getResultFromSystemCall(const char* pCmd, char* pResult, int size) { int fd[2]; if(pipe(

c语言-C语言读取文件问题求帮忙

问题描述 C语言读取文件问题求帮忙 用命令行输入文件名称如input.txt 内容如下: 1 00j0o0d0c 0oe3c01l5 l00d0193j 00000ec03 0l0000001 0j0000490 30091c0j0 00543dl09 9d1jl50c4 2 -- -- 多组数据 每次将读到的数据存到一个二维数组a[i][j]中运算后输出到output.txt文件中 依次读取并计算 输出 解决方案 直接用fprintf和fscanf来操作就行了只要保证读和写的格式是一样的,就能

c语言-C语言读取文本文件的数组,什么情况下需要对ascii进行转化?

问题描述 C语言读取文本文件的数组,什么情况下需要对ascii进行转化? 为什么视屏上没有转化? fscanf(fp,"%d",&变量);,这个变量不需要atoi么? 解决方案 因为fscanf内部就实现了将文本转换为整数的功能,所以不需要转换了.之所以知道转换为整数,是因为%d 解决方案二: 这种是格式化输入,本身在输入处理时已经将输入转换成了整形数据. 如果是%s当作字符串输入,则需要手动转换一下. 解决方案三: fscanf 是输入,需要你在显示屏上输入一个数字,不是显示

c语言程序读txt文本,有程序没有文本,如何根据程序写文本?谢谢

问题描述 c语言程序读txt文本,有程序没有文本,如何根据程序写文本?谢谢 struct jd { int num,s; double p,q,S,e,f,U,zkj,dp,dq,du,de,df; } jd[M]; struct zhl { int numb; int p1,p2; double r,x; } zhl[M]; FILE *fp1,*fp2; /* 读取数据 / void data() { int h,number; fp1=fopen("input.txt",&quo

asp fso:只读一行文本

asp fso:只读一行文本ReadLine set t=fs.OpenTextFile("c:test.txt",1,false) x=t.ReadLine t.close Response.Write("The first line in the file ") Response.Write("contains this text: " & x) 这样我们就可以只读取一行了喽.下面来看看readall读取全部的内容 dim fs,f,

VB6.0语言Label双击变成文本框,文本框离开变成LabelLabel双击变成文本框

问题描述 VB6.0语言Label双击变成文本框,文本框离开变成LabelLabel双击变成文本框 Label双击变成文本框,文本框离开变成LabelLabel双击变成文本框,文本框离开变成Label 解决方案 可以做一个label一个textbox叠放在一起,然后设置zorder来设置谁在前面. 解决方案二: 不清楚你描述的是什么问题 解决方案三: 我来帮LZ完善需求描述!!!双击Label的时候,Label控件变成文本框(也就是出现一个文本框和Label控件一样大小的,在Label的位置上)

驱动-c语言读取硬盘原始数据的几种方法

问题描述 c语言读取硬盘原始数据的几种方法 我所知道的两种方法是: 1. CreateFile打开硬盘后直接从文件句柄里读 2. DeviceIO驱动读取 <这里都是原始数据,比如第一个扇区就是MBR> 这两种方法都是用 CreateFile("PhysicalDriver0"--)<其他参数省略>打开的句柄, 但我现在遇到两个问题, 第一:PhysicalDriver0 是什么, 第二:有没有打开一个 打开 --.sys驱动的方式读取硬盘呢?(这样速度会快一些

io流-IO流 自定义readLine 无法读取下一行

问题描述 IO流 自定义readLine 无法读取下一行 5C import java.io.*;public class Demo { public static void main(String[] args) throws IOException { BufferedWriter bfw = new BufferedWriter(new FileWriter(""b.txt"")); bfw.write(""sdasdaadrn"

计算一行文本的高度

计算一行文本的高度   说明 有时候我们需要知道指定的几行文本的高度,此工具用于解决此种问题.   源码 // // NSString+LabelWidthAndHeight.h // ZiPeiYi // // Created by YouXianMing on 15/12/9. // Copyright 2015年 YouXianMing. All rights reserved. // #import <Foundation/Foundation.h> #import <UIKit