为什么我不能使用此代码打开文本文件?

时间:2019-05-01 03:09:32

标签: c++

我正在编写代码以打开用户输入的文件并显示该文件。

但是,无论我读了多少本书,我似乎都无法 告诉我为什么我的文件仍无法打开。我什至复制了别人的代码 那行得通,我的仍然无法打开。有人请你帮我 一切。

这是我的代码的一部分,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());
    }

由于某种原因,其他所有内容似乎都可以正常工作,但是打开该文件后不会显示任何内容,而是关闭程序。

1 个答案:

答案 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之后。