ifstream在第二次尝试时找不到定位文件

时间:2017-05-25 19:42:24

标签: file c++11 readfile ifstream

我有以下代码。如果我立即输入文件的名称,它会找到没有问题的文件,我没有做任何事情。但是,如果我在文件中键入它不首先找到它,它将在即将到来的序列中找不到该文件,即使它存在。有人知道什么是错的吗?该文件位于同一文件夹中。

string fileName;
cout << "Ingrese nombre archivo de carga: " << endl;
cin >> fileName;

if (fileName == "0")
    return false;


    ifstream infile(fileName); //here it should be filename
    while (true) {
        if (infile) {
            cout << "Cargando directorio..." << endl;
            break;
        } else {
            cout << "ERROR: No se pudo abrir el archivo." << endl;
        }
        cout << "Ingrese nombre archivo de carga: " << endl;
        cin >> fileName;
        if (fileName == "0")
            return false;


        ifstream infile(fileName); 
    }

1 个答案:

答案 0 :(得分:1)

ifstream infile(fileName); //here it should be filename

这声明了一个名为infile的变量。

    ifstream infile(fileName); 
}

这声明了一个全新的变量,也称为infile。它的可见区域从声明点到封闭块的闭合支撑(也就是说,不会很长)。

您想要使用旧变量。尝试调用其open方法。