在文本文件中读取包含空格的数组

时间:2013-03-07 04:20:38

标签: c++ arrays file-io

我必须阅读已存在的此文本文件。此代码编译并运行,但每行只读一个单词。

例如:我的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;
}

1 个答案:

答案 0 :(得分:1)

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

istream operator>>一直持续到你想要的空白。