Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何逐行读取文件?

如何逐行读取文件?

提问于 2017-12-12 07:11:20
回答 2关注 0查看 308

我的文件内容是file.txt:

5 3

6 4

7 1

10 5

11 6

12 3

12 4

5 3坐标对在哪里?如何在C ++中逐行处理这些数据?

我能够得到第一行,但我怎么得到文件的下一行?

代码语言:txt
复制
代码语言:txt
AI代码解释
复制
ofstream myfile;
代码语言:txt
AI代码解释
复制
myfile.open ("text.txt");

回答 2

Maybe

发布于 2017-12-12 07:19:57

既然你的坐标属于成对的,为什么不为他们写一个结构呢?

代码语言:txt
AI代码解释
复制
struct CoordinatePai
代码语言:txt
AI代码解释
复制
{
代码语言:txt
AI代码解释
复制
    int x;
代码语言:txt
AI代码解释
复制
    int y;
代码语言:txt
AI代码解释
复制
};

然后你可以为istreams写一个重载的提取操作符:

代码语言:txt
复制
代码语言:txt
AI代码解释
复制
std::istream& operator>>(std::istream& is, CoordinatePair& coordinates)
代码语言:txt
AI代码解释
复制
{
代码语言:txt
AI代码解释
复制
    is >> coordinates.x >> coordinates.y;
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
    return is;
代码语言:txt
AI代码解释
复制
}

然后你可以直接读取一个坐标文件,像这样的矢量:

代码语言:txt
AI代码解释
复制
#include <fstream>
代码语言:txt
AI代码解释
复制
#include <iterator>
代码语言:txt
AI代码解释
复制
#include <vector>
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
int main()
代码语言:txt
AI代码解释
复制
{
代码语言:txt
AI代码解释
复制
    char filename[] = "coordinates.txt";
代码语言:txt
AI代码解释
复制
    std::vector<CoordinatePair> v;
代码语言:txt
AI代码解释
复制
    std::ifstream ifs(filename);
代码语言:txt
AI代码解释
复制
    if (ifs) {
代码语言:txt
AI代码解释
复制
        std::copy(std::istream_iterator<CoordinatePair>(ifs), 
代码语言:txt
AI代码解释
复制
                std::istream_iterator<CoordinatePair>(),
代码语言:txt
AI代码解释
复制
                std::back_inserter(v));
代码语言:txt
AI代码解释
复制
    }
代码语言:txt
AI代码解释
复制
    else {
代码语言:txt
AI代码解释
复制
        std::cerr << "Couldn't open " << filename << " for reading\n";
代码语言:txt
AI代码解释
复制
    }
代码语言:txt
AI代码解释
复制
    // Now you can work with the contents of v
代码语言:txt
AI代码解释
复制
}

晓小峰哦

发布于 2017-12-12 07:14:04

首先,你做一个ifstream:

代码语言:txt
AI代码解释
复制
#include <fstream>
代码语言:txt
AI代码解释
复制
std::ifstream infile("thefile.txt");

这两种标准方法是:

假设每行都包含两个数字,并通过令牌读取令牌:

代码语言:txt
AI代码解释
复制
int a, b;
代码语言:txt
AI代码解释
复制
while (infile >> a >> b)
代码语言:txt
AI代码解释
复制
{
代码语言:txt
AI代码解释
复制
    // process pair (a,b)
代码语言:txt
AI代码解释
复制
}
代码语言:txt
AI代码解释
复制
基于行的解析,使用字符串流:
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
#include <sstream>
代码语言:txt
AI代码解释
复制
#include <string>
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
std::string line;
代码语言:txt
AI代码解释
复制
while (std::getline(infile, line))
代码语言:txt
AI代码解释
复制
{
代码语言:txt
AI代码解释
复制
    std::istringstream iss(line);
代码语言:txt
AI代码解释
复制
    int a, b;
代码语言:txt
AI代码解释
复制
    if (!(iss >> a >> b)) { break; } // erro
代码语言:txt
复制
代码语言:txt
AI代码解释
复制
    // process pair (a,b)
代码语言:txt
AI代码解释
复制
}

你不应该混淆(1)和(2),因为基于标记的解析不会吞噬换行符,所以如果getline()在基于标记的提取之后使用,最后可能会出现虚假的空行。

和开发者交流更多问题细节吧,去 写回答
相关文章
Java逐行读取文件
通过桥接器InputStreamReader将FileInputStream文件字节输入流转为字符流
WindCoder
2020/01/21
3.9K0
如何在Java中逐行读取文件
本文翻译自How to read a file line by line in Java
ccf19881030
2020/11/24
10.5K0
在Node.js中如何逐行读取文件
本文翻译自How to read a file line by line in Node.js
ccf19881030
2020/10/29
13.8K0
逐行读取文件的Shell代码
linux shell 按行循环读入文件方法 #!/bin/bash printf "*\n" echo " cat file while read line" cat one.log |while read line do echo $line; done printf "*\n" echo "while read line <file" while read line do echo $line; done <one.log printf "*\n" echo "for line in
用户1503405
2021/10/29
1.6K0
Java逐行读取和写入文件
前面两篇博客讲到go语言逐行读取和写入文件以及nodejs使用readline逐行读取和写入文件和C#逐行读取和写入文件 今天使用Java实现同样的功能,即从输入文件中读取每行数据,然后将每行字段组合成SQL插入脚本,然后逐行写入另外一个空白文件中。
ccf19881030
2020/09/07
2.7K0
Java逐行读取和写入文件
如何使用Java逐行读取大文本文件?
这是一个示例,该示例具有完整的错误处理并支持Java 7之前的字符集规范。使用Java 7,您可以使用try-with-resources语法,从而使代码更简洁。
用户7886150
2020/12/11
2.7K0
Python fileinput模块:逐行读取多个文件
Python提供了 fileinput 模块,通过该模块中的 input()  函数,我们能同时打开指定的多个文件,还可以逐个读取这些文件中的内容。
用户8442333
2021/11/30
1.4K0
C#逐行读取和写入文件
前面两篇博客讲到go语言逐行读取和写入文件以及nodejs使用readline逐行读取和写入文件 今天使用C#语言实现同样的功能,即从输入文件中读取每行数据,然后将每行字段组合成SQL插入脚本,然后逐行写入另外一个空白文件中。
ccf19881030
2020/09/07
3K0
go语言逐行读取和写入文件
前面一篇博客讲到nodejs使用readline逐行读取和写入文件 今天使用go语言实现从输入文件中读取每行数据,然后将每行字段组合成SQL插入脚本,然后逐行写入另外一个空白文件中。
ccf19881030
2020/09/06
6.3K0
Java-字符流逐行读取/写入文件
/** * 字符流,每次读取/写入一行 * BufferedReader/PrintWriter * @Author: www.itze.cn * @Date: 2020/9/28 10:29 * @Email: 814565718@qq.com * @param srcFile * @param destFile */ public static void brAndpw(String srcFile,Stri
itze
2022/10/31
1.4K0
nodejs使用readline逐行读取和写入文件
今天遇到一个小的需求,就是要根据Excel中的几列数据生成多条SQL插入脚本,类似于下面input.txt文件这样:
ccf19881030
2020/09/06
4.3K0
Python 逐行读取txt 文件并生成列表
我们在编写一些自动化脚本的时候,为了方便,经常需要以txt 文件作为数据输入,今天就跟大家讨论一下如何对txt 文件进行读取并生成对应的列表等程序可操作的数据载体。
全栈程序员站长
2022/07/23
5.9K0
Python 逐行读取txt 文件并生成列表
Shell逐行读取文件的4种方法
在Linux中有很多方法逐行读取一个文件的方法,其中最常用的就是下面的脚本里的方法,而且是效率最高,使用最多的方法。为了给大家一个直观的感受,我们将通过生成一个大的文件的方式来检验各种方法的执行效率。
用户1685462
2021/08/30
1.5K0
Java逐行读取数据
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStreamReader; import java.util.HashMap; import java.util.Map; public class ClassInfoS
静谧星空TEL
2021/04/27
1.7K0
python逐行读取文本
一、使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。
狼啸风云
2021/11/10
2.5K0
C++基础——文件逐行读取与字符匹配
用惯了python,对其他语言就比较的生疏。但是python很多时候在性能上比较受局限,这里尝试通过C++来实现一个文件IO的功能,看看是否能够比python的表现更好一些。关于python的类似功能的实现,可以参考这一篇博客。
DechinPhy
2021/05/21
1.7K0
在Node.js中逐行读取文件【纯技术】
在计算机科学中,文件是一种资源,用于在计算机的存储设备中离散地记录数据。Node.js不会以任何方式覆盖它,并且可以与文件系统中被视为文件的任何文件一起使用。
Jean
2019/09/24
7.8K0
在Shell脚本中逐行读取文件的命令方法
为了演示,在此创建一个名为“ mycontent.txt”的文本文件,文件内容在下面:
用户7639835
2021/12/03
9.3K0
[日常] Go-逐行读取文本信息
go逐行读取文本信息: 1.os包提供了操作系统函数的不依赖平台的接口,Open方法打开一个文件用于读取,func Open(name string) (file *File, err error) 2.bufio包实现了有缓冲的I/O,NewReader方法创建一个具有默认大小缓冲、从r读取的*Reader,func NewReader(rd io.Reader) *Reader 3.*Reader类的ReadBytes读取直到第一次遇到delim字节,返回一个包含已读取的数据和delim字节的切片
唯一Chat
2019/09/10
9040
[日常] Go-逐行读取文本信息
python 逐行读取并赋值变量
如果程序要读取行,通常只能用文本方式来读取,道理很简单,只有文本文件才有行的概念,二进制文件没有所谓行的概念。
matinal
2023/10/13
2120

相似问题

如何逐行读取文件?

2245

如何在GO中逐行读取文件?

21.3K

如何使用Java逐行读取大型文本文件?

2255

如何在python中逐行阅读大文件?

2514

如何读取CRT和KEY文件?

11.5K
相关问答用户
腾讯云TDP | TDP会员擅长3个领域
到家集团 | 技术VP擅长5个领域
腾讯云TDP | KOL擅长5个领域
web前端擅长4个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文