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());
}
由于某种原因,其他一切似乎都可以正常工作,但文件在打开时不会显示任何内容,而是程序关闭。
解决方案
这很奇怪:这段代码对我来说很好用。
#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
打开它后的操作有关。
推荐阅读
- android - 两个视图之间从左,右和中心的相等空间android
- python - plotly:如何在窗口中制作独立的情节?
- haskell - haskell中自然顺序的函数组合
- swift - 访问 Firebase Analytics 数据
- php - “此页面无法正常工作 xxxxx.com 目前无法处理此请求。HTTP 错误 500”
- javascript - 通过nodejs连接ssh
- android - Android Glide 错误:找不到符号方法 crossFade()
- c - 如何创建二维数组?
- amazon-web-services - 如何每天以不同的时间表触发 aws lambda
- php - php utf8 / unicode 编码