C++ ifstream.open()的行为就像它一样';It’他没有读取文件 //提示用户输入文件名并将其存储 字符串文件名; cout>文件名; ifstream-infle(文件名); inFile.open(文件名); //提示用户,直到他们给出可以打开的文件名 bool validFileName=false; while(validFileName==false) { if(infle.is_open()) { validFileName=true; } 其他的 { cout>文件名; 河流充填; inFile.open(文件名); } } //这个区块打印到终端,所以它打开了 if(infle.is_open()) {cout
In: 文件在第一行打开。 重新打开它是多余的 此外,在循环中,您还声明了一个临时变量infle,该变量在else语句结尾处停止。请确保仅在您希望使用它的最外层范围声明一次。in:C++ ifstream.open()的行为就像它一样';It’他没有读取文件 //提示用户输入文件名并将其存储 字符串文件名; cout>文件名; ifstream-infle(文件名); inFile.open(文件名); //提示用户,直到他们给出可以打开的文件名 bool validFileName=false; while(validFileName==false) { if(infle.is_open()) { validFileName=true; } 其他的 { cout>文件名; 河流充填; inFile.open(文件名); } } //这个区块打印到终端,所以它打开了 if(infle.is_open()) {cout,c++,fstream,C++,Fstream,In: 文件在第一行打开。 重新打开它是多余的 此外,在循环中,您还声明了一个临时变量infle,该变量在else语句结尾处停止。请确保仅在您希望使用它的最外层范围声明一次。in: //Prompts user for a file name and stores it string fileName; cout << "Enter the file name: "; cin >> fileName; ifstream inFile (fileName); inFil
//Prompts user for a file name and stores it
string fileName;
cout << "Enter the file name: ";
cin >> fileName;
ifstream inFile (fileName);
inFile.open(fileName);
//Prompt the user until they give the name of a file that can be opened
bool validFileName = false;
while(validFileName == false)
{
if(inFile.is_open())
{
validFileName = true;
}
else
{
cout << "Please enter a valid file name: ";
cin >> fileName;
ifstream inFile;
inFile.open(fileName);
}
}
//this block prints to the terminal, so it's opening
if(inFile.is_open())
{ cout << "It works! \n"; }
文件在第一行打开。
重新打开它是多余的
在循环中,您还声明了一个临时变量infle,该变量在else语句结尾处停止。请确保仅在您希望使用它的最外层范围声明一次。问题在于您正在使用
ifstream inFile (fileName);
inFile.open(fileName);
在循环中。循环中的变量隐藏循环外同名的变量。删除这些行中的第一行
FWIW,您可以将代码简化为:
ifstream inFile;
inFile.open(fileName);
ifstream-infle(文件名);
而(!infle)
{
//提示用户,直到他们给出可以打开的文件名
cout>文件名;
inFile.open(文件名);
}
如果(填充)
{
问题是你正在使用
ifstream inFile (fileName);
inFile.open(fileName);
在循环中。循环中的变量隐藏循环外同名的变量。删除这些行中的第一行
FWIW,您可以将代码简化为:
ifstream inFile;
inFile.open(fileName);
ifstream-infle(文件名);
而(!infle)
{
//提示用户,直到他们给出可以打开的文件名
cout>文件名;
inFile.open(文件名);
}
如果(填充)
{
这是多余的,但不是问题的真正原因。这是多余的,但不是问题的真正原因。