我有一个包含多个单词的文本文件,所有单词都用空格分隔。我正在尝试读取该文件,然后将其放入一个数组中,以便每个单词在所述数组中是一个单独的值。我正在使用这段代码,但是当我运行我的程序时,它不会显示任何内容(就像它应该的那样。)
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。如果我有一些简单的东西,请告诉我。
答案 0 :(得分:0)
好吧,你的程序可能没有在if
条件下传递语句。
尝试添加此项以测试您的文件是否正确打开:
if(file){
// do all the file inputs
}
else{
std::cerr << "could not open file words.txt" << std::endl;
}