我正在尝试打开这两个文件并将其内容读入两个不同的数组,但每当我尝试打开它们时,我都无法打开文件对话框?我没有看到任何不正确但我不是一个强大的c ++用户。
std::ifstream inFile;
inFile.open("fives.txt");
if (inFile.is_open())
{
while (! inFile.eof() )
{
getline (inFile,line);
fives[loop] = line;
cout << fives[loop] << endl;
loop++;
}
inFile.close();
}
else cout << "Unable to open file";
inFile.open("search.txt");
loop=0;
if (inFile.is_open())
{
while (! inFile.eof() )
{
getline (inFile,line);
search[loop] = line;
cout << search[loop] << endl;
loop++;
}
inFile.close();
}
else cout << "Unable to open file";
答案 0 :(得分:6)
文件必须存在于当前目录中,其中当前目录是执行程序的目录(不一定是保存可执行文件的目录) )。
在您的情况下,您使用资源保存文件,而不是使用生成的二进制文件保存(我猜您是从VC ++中运行的,默认情况下它将当前目录设置为存储二进制文件的位置),所以程序找不到它们。使用资源所在的相对路径,或将您要查找的文件复制到您正在运行的目录中。