将文本文件读入字符串数组

时间:2014-04-24 00:14:28

标签: c++ arrays

我有一个包含多个单词的文本文件,所有单词都用空格分隔。我正在尝试读取该文件,然后将其放入一个数组中,以便每个单词在所述数组中是一个单独的值。我正在使用这段代码,但是当我运行我的程序时,它不会显示任何内容(就像它应该的那样。)

ifstream file ("words.txt");
if(file.is_open())
{
string wordArray[100];
for(int i = 0; i < 100; ++i)
{
    file >> wordArray[i];
    cout << i;
}
cout << "File is open.";
}

根本没有显示任何内容。我在一个void函数中这样做,目前没有传递任何东西,但我不认为它与它有任何关系。代码至少应显示“文件已打开”或1到100之间的任何数字,但我什么都没得到。我不明白为什么这不起作用,因为我包括iostream,string,fstream,iomanip和sstream。如果我有一些简单的东西,请告诉我。

1 个答案:

答案 0 :(得分:0)

好吧,你的程序可能没有在if条件下传递语句。 尝试添加此项以测试您的文件是否正确打开:

if(file){
    // do all the file inputs
}
else{
    std::cerr << "could not open file words.txt" << std::endl;
}