【发布时间】:2013-02-22 04:03:35
【问题描述】:
我必须阅读这个已经存在的文本文件。这段代码可以编译并且可以工作,但它每行只读取一个单词。
例如:我的txt文件是这样的:
- word1 word2 word3 word4
- word5 word6 word7
- word8 word9
但它在屏幕上输出:
- word1
- word2
- word3.. 等
如何让它将 txt 文件读入包含空格的数组?
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string friendConnections[9];
string line;
int loop = 0;
ifstream networkFile("network.txt");
if (networkFile.is_open())
{
while (!networkFile.eof())
{
istream& getline (networkFile >> line);
friendConnections[loop] = line;
cout << friendConnections[loop] << endl;
loop++;
}
networkFile.close();
}
else cout << "Can't open file" << endl;
return 0;
}
【问题讨论】:
-
cout << friendConnections[loop] << endl;换行 -
如果你使用
cout << line而不是cout<<friendConnections[loop]<<endl会发生什么? -
顺便说一句,
istream& getline (networkFile >> line);应该是什么意思?据我了解,它创建了一个从未使用过的名为getline的引用,并使用networkFile对其进行初始化。