读取文本文件中某一行

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <windows.h>
#define MAX 256
int main(void)
{
    FILE *fa;
    int i,count=0;
    char ch[MAX],file[MAX]="1.txt";
    if ((fa=fopen(file,"r"))==NULL)
    {
        puts("不能打开文件");
    }
     puts("请输入你要查找的行");
    if (scanf("%d",&i)!=1)
        puts("请输入一个选项");
        rewind(fa);
    do{
        if((fgets(ch,MAX,fa))!=NULL)
        count++;
        else
        {
           printf("您输入的选项超出的范围\n");
          Sleep(1000);
           exit(1);
        }

    }while(count!=i);
    printf("文件第%d内容是:%s",i,ch);
    fclose(fa);
    return 0;
}

注:MAX设置时应该比文件中最大一行大1.

fgets(buf,MAX,fp)其中BUF是一个数组的名称,MAX是字符串最大长度,fp是一个FILE指针。

fgets()函数读取到它所遇到的第一个换行字符的后面,或

      读取比字符串的最大长度(MAX)少一个的字符处 或

      读取到文件结尾。

然后fgets()函数向末尾添加一个空字符以构成字符串。

fgets()遇到EOF的时候会返回NULL值,可以检查文件结尾。否则它返回传递给他的地址值

时间: 2024-08-07 12:18:15

读取文本文件中某一行的相关文章

读取文本文件中指定的几列

今天在论坛上看到一个问题,这个问题大概是这样的,读取文本文件中指定的几列,并存储入数据库中. Insus.NET花上些少时间,实现读取文本的功能部分.创建一个文本文件,文本添加好几行.每一行有好几列,列与列之间使用逗号分隔. adf,adfadf,adsfgads,qwer,wrt,wrey,asdfs,qwer,tryerqert6uy7,468u4,578,qewrqew,qwertwet,67u46,45676,45qer87,47857,et356y,etyedgh adsadf,adf

java基础-输入流-读取文本文件中数据至字符串数组

简介:如题 import java.io.FileInputStream; /** * @author czchina * */ public class TestStream { public static void main(String[] args) { // TODO Auto-generated method stub //声明输入流的引用 FileInputStream fls = null; //声明输出流的引用 FileOutputStream fos =null; try{

C++读取文本文件中以TAB作为分隔符,且中间字段有为空的情况的方法?

数据文件:testData.txt 内容: 111 222 444 555 思路: getline()将testData.txt中的第一行记录读入到一个string中,然后搜索第n个分隔符进行定位,判断第n个字段长度,使用substr,截取该字段,并赋值给目标string. 程序: #include <iostream> #include <fstream> using namespace std; void GetStringFromCSV(std::string line, i

读取Assets中的文件数据

首先在assets文件夹中新建一个text.text文件用来读取 读取文件代码如下: import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import android.support.v7.app.ActionBarActivity; import android.os.Bundle; import andr

QT初体验1:如何学习QT之个人浅见,以及如何读取文本文件,在调试信息中输出。

2017年11月初,随着工作岗位的调动,我转到了研发岗,开始了漫漫程序员的成长之路.首先介绍下个人知识储备,大一学习过C语言,没有工程经验,所学是为了期末考试+2级考试,考完在大学+硕士期间没有用到编程. 来到新的工作岗位,心情是既激动又忐忑的,作为一名青铜段位程序员,我得好好规划下学习.成长的路径. 我选择的方法是,跟着项目走,工作中不可能给你大把时光来造作,去把厚厚的C++ Primer or C++ Primer Plus给通读一遍.带着任务去学习,学的最快.具体而言,我的学习思路是: 1

输出是一个文本文件,每一行第一个数字式行标,第二个数字是输入文件中每一行除行标外数字的平均值

有时候你会遇到这样的问题:你有一个表格,给出了每个人在十二月,一月和二月的收入. 表格如下: 姓名 一月 二月 三月 楚乔     200   314   3500 宇文玥     2000  332   2300 烟熏柿子    6000  333   680 淳儿    5000  333   789 洛河     30    12    2900 现在需要知道每个人这三个月的收入平均值,那么你就需要将表格中一行代表收入的数字相加除以月数.下面请编写MR程序解决这个简单的问题. 输入只包含一

web前端读取文本文件内容

html5+js实现,参照xxyy888的CSDN博客文章<使用HTML+javascrpt读取txt文本文件>失败,将作者文章中的代码重新整理了下依然不行,文章代码存在的问题是括号错误,基本上都是弄成了全角字符,整理后的代码如下, <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitiona

使用字符流读取文本文件

1.字符输入流Reader类 Reader类是读取字符流的抽象类,它提供了常用的方法. Reader rd= new FileReader("Test/xy.txt");// int b=rd.read(); //从输入流中读取单个字符// System.out.println((char)b); char[] chars = new char[10]; //从输入流中读取chars.length长度的字符 int length = rd.read(chars);   System.o

字符输入流读取文本文件【Reader、FileReader、BufferedReader 】

字符输入流读取文本文件 1.Reader类(读取字符流的抽象类) ※Reader类的常用方法 方法名称 说明 int read() 从输入流中读取单个字符 int read(byte[] c) 从输入流中读取c .length长度的字符,保存到字节数组c中,返回实际读取的字符数 int read(byte[] c, int off , int len) 从输入流中读取最多len长度的字节,保存到字节数组c中,保存的位置从off开始,返回实际读取的字符数 void close() 关闭流 2.字符