我正在编写代码以打开用户输入的文件并显示该文件。
但是,无论我读了多少本书,我似乎都无法 告诉我为什么我的文件仍无法打开。我什至复制了别人的代码 那行得通,我的仍然无法打开。有人请你帮我 一切。
这是我的代码的一部分,void函数可以很好地工作,所以 做输入验证,但是当我打开文件时什么也没显示
void readFile(int list[], int size)
{
//Identify variables
ifstream inFile;
string fileName;
cout<<"Please enter filename: ";
cin>>fileName;
inFile.open(fileName.c_str());
while(!inFile)
{
cout<<"Invalid file name. ";
inFile.clear();
inFile.ignore(200,'\n');
cout<<"Please enter filename: ";
cin>>fileName;
inFile.open(fileName.c_str());
}
由于某种原因,其他所有内容似乎都可以正常工作,但是打开该文件后不会显示任何内容,而是关闭程序。
答案 0 :(得分:0)
这很奇怪:这段代码对我来说很好用。
#include <cstdio>
#include <cstring>
#include <fstream>
#include<iostream>
using namespace std;
int main ()
{
// Identify variables
ifstream inFile;
string fileName, str;
cout << "Please enter filename: ";
cin >> fileName;
inFile.open(fileName.c_str());
while(!inFile) {
cout << "Invalid file name. ";
inFile.clear();
inFile.ignore(200,'\n');
cout << "Please enter filename: ";
cin >> fileName;
inFile.open(fileName.c_str());
}
while (std::getline(inFile, str)) {
cout << str;
}
cout << endl;
return 0;
}
问题可能出在打开inFile
之后。