正在读取由换行符分隔的文本文件.unix上的C++

Reading a text file that is delimited by a newline. C++ on unix

本文关键字:文件 文本 unix 上的 C++ 分隔 读取 换行符      更新时间:2023-10-16

好的,我在www上尝试了很多不同的建议,并给出了所有的例子。这是一件如此简单的事情,对我来说却不起作用,令人沮丧!我已将需要读取的文件附加到数据结构中。在这个例子中,我只是把它打印到屏幕上。以下代码以前对我有效,但现在不行了。我在visualstudios和unix上都尝试过,但都没有运行它。我最终需要它在unix上运行。

有人能告诉我为什么这不起作用吗,或者建议一种更好的方式来阅读我的文件吗?示例文件:

word
book
programming

这是我读取文件的函数。

#include "stdafx.h"
#include <fstream>
#include <iostream>
#include <string>
#include "words.txt"
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
ifstream file;
string line;
file.open("words.txt");
if(file.is_open()){
while(getline(file, line)){
getline(file, line);
cout << line <<endl;
}
}
file.close();

return 0;
}

谢谢。

文件,但引发了有关分隔符的错误。例如,在使用g++运行的unix中:

wordlist2.txt: 498841:1: error: missing terminating ' character
incumbent's
^
wordlist2.txt:498875:13 warning: missing terminating ' character [enabled by default] 
at your wits' end
^

在视觉工作室:

Error 2   error C4430: missing type specifier - int assumed. Note: C++ does                not support default-int    
Error 14  error C2146: syntax error : missing ';' before identifier 'mouse'
while (!file.eof())

这不是一个好主意。改为写以下内容:

while (getline(file, line)) {
cout << line << endl;
}

你当然不想

#include "words.txt"

删除此行!!