2

我必须阅读这个已经存在的文本文件。这段代码可以编译并且可以工作,但它每行只读取一个单词。

例如:我的 txt 文件如下所示:

  • 单词1 单词2 单词3 单词4
  • 字 5 字 6 字 7
  • 字 8 字 9

但它在屏幕上输出:

  • 单词1
  • 字2
  • 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;
}
4

1 回答 1

1

使用while(std::getline(networkFile,line))代替while(networkFile.eof())istream& getline (networkFile >> line);

istream operator>>一直到不是你想要的空白。

于 2013-03-07T04:24:27.340 回答