无法在C ++中打开文件

时间:2011-11-01 22:48:19

标签: c++

我正在尝试打开这两个文件并将其内容读入两个不同的数组,但每当我尝试打开它们时,我都无法打开文件对话框?我没有看到任何不正确但我不是一个强大的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";

1 个答案:

答案 0 :(得分:6)

文件必须存在于当前目录中,其中当前目录是执行程序的目录(不一定是保存可执行文件的目录) )。

在您的情况下,您使用资源保存文件,而不是使用生成的二进制文件保存(我猜您是从VC ++中运行的,默认情况下它将当前目录设置为存储二进制文件的位置),所以程序找不到它们。使用资源所在的相对路径,或将您要查找的文件复制到您正在运行的目录中。