我有以下代码。如果我立即输入文件的名称,它会找到没有问题的文件,我没有做任何事情。但是,如果我在文件中键入它不首先找到它,它将在即将到来的序列中找不到该文件,即使它存在。有人知道什么是错的吗?该文件位于同一文件夹中。
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);
}
答案 0 :(得分:1)
ifstream infile(fileName); //here it should be filename
这声明了一个名为infile
的变量。
ifstream infile(fileName);
}
这声明了一个全新的变量,也称为infile
。它的可见区域从声明点到封闭块的闭合支撑(也就是说,不会很长)。
您想要使用旧变量。尝试调用其open
方法。