逐行读取txt

Posted

技术标签:

【中文标题】逐行读取txt【英文标题】:Reading txt line by line 【发布时间】:2012-02-16 12:48:51 【问题描述】:

我正在用 C++ 逐行读取文本文件。我正在使用此代码:

while (inFile)

getline(inFile,oneLine);

这是一个文本文件:

-------

This file is a test to see 
how we can reverse the words
on one line.

Let's see how it works.

Here's a long one with a quote from The Autumn of the Patriarch. Let's see if I can say it all in one breath and if your program can read it all at once:
Another line at the end just to test.
-------

问题是我只能阅读以“这是一个很长的等等......”开头的段落,并且它“立即停止:” 我无法解决阅读所有文本的问题。你有什么建议吗?

【问题讨论】:

您知道每次读取一行时都会覆盖oneLine 的内容,因此在while 循环终止后oneLine 中的唯一内容是最后一行。 你并没有真正包含太多代码...... 【参考方案1】:

正确的读行成语是:

std::ifstream infile("thefile.txt");

for (std::string line; std::getline(infile, line); )

    // process "line"

或者不喜欢for循环的人的替代方案:


    std::string line;
    while (std::getline(infile, line))
    
        // process "line"
    

请注意,即使文件无法打开,这也会按预期工作,但如果您想针对该情况生成专用诊断,您可能需要在顶部添加额外的检查 if (infile)

【讨论】:

我真希望这是地球上每一本 C++ 书籍(面向初学者)的第一页。 @AndréCaron:这是我“经常粘贴的答案”文件中的第一个条目,如果这是任何安慰的话。 哈哈哈“经常粘贴的答案”!我会记住那个的! @KerrekSB:这使得它成为一个很好的候选人,可以作为完全重复的投票结束。不幸的是,似乎没有包含此规范 SO 答案的规范 SO 问题。 @KenBloom:肯定已经有一千个了......真的,SO应该有一种机制来创建或标记现有问题为规范,但就目前而言,大多数问题都是公平的晦涩难懂,而答案总是一样的......

以上是关于逐行读取txt的主要内容,如果未能解决你的问题,请参考以下文章

如何逐行读取txt文件

逐行读取TXT文件-Python [重复]

Python逐行读取txt文本,按符合分割词并逐行写入txt

vbs逐行读取txt文件并且逐行复制文件到其它文件中

python 逐行读取txt文件

JAVA逐行读取TXT文件