2

すでに存在するこのテキストファイルを読まなければなりません。このコードはコンパイルして機能しますが、1行に1ワードしか読み込まれません。

例:私の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;
}
4

1 に答える 1

1

andwhile(std::getline(networkFile,line))の代わりに使用while(networkFile.eof())istream& getline (networkFile >> line);

istream operator>>あなたが望むものではない空白まで行きます。

于 2013-03-07T04:24:27.340 に答える