在C++中显示指定文本文件的内容
我试图让这个程序要求用户输入一个文本文件的名称,并让它显示文本文件中的结果。当我运行这个程序时,它在某种程度上是成功的,因为它可以识别文本文件,但它会输出奇怪的结果。例如,我试图让它输出某个文件的内容,该文件包含:在C++中显示指定文本文件的内容,c++,input,output,C++,Input,Output,我试图让这个程序要求用户输入一个文本文件的名称,并让它显示文本文件中的结果。当我运行这个程序时,它在某种程度上是成功的,因为它可以识别文本文件,但它会输出奇怪的结果。例如,我试图让它输出某个文件的内容,该文件包含: 10 5 70 5 15 85 12 9 75 10 6 60 20 10 100 15 8 95 4 3 35 20 10 200 9 5 65 但它只输出: 0 0 0 已到达文件结尾 我真的很喜欢C++,但是我一
10 5 70
5 15 85
12 9 75
10 6 60
20 10 100
15 8 95
4 3 35
20 10 200
9 5 65
但它只输出:
0 0 0
已到达文件结尾
我真的很喜欢C++,但是我一直在想为什么我的程序不工作,这只是最终程序的一小部分。谢谢大家!
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
using namespace std;
int main()
{
int count, firstMinute, secondMinute, numOfDishes;
string inputFileName;
ifstream inputFile;
cout << "Input file name: ";
getline(cin, inputFileName);
//Open input file
inputFile.open(inputFileName);
//check if messed up
if (!inputFile.is_open())
{
cout << "Unable to open file." << endl;
exit(1);
}
while (inputFile >> firstMinute >> secondMinute >> numOfDishes)
{
cout << firstMinute << ' ' << secondMinute << ' ' << numOfDishes <<
' ' << '\n';
}
cout << "End of file reached" << endl;
inputFile.clear();
inputFile.seekg(0);
inputFile.close();
return 0;
}
首先,尽管!inputFile.eof不是一个好主意。更多关于这个
而且,您根本没有更改firstMinute、secondMinute和NumofDisks的值。你忘了在循环中做那件事了吗
我会简单地使用extraction操作符,而不是像这样使用getline:
while(inputFile >> firstMinute >> secondMinute >> numOfDishes) //not checking for eof
{
cout << firstMinute << ' ' << secondMinute << ' ' << numOfDishes << '\n';
}
推荐阅读:你在哪里设置第一分钟第二分钟和第二分钟?就一次?你处理getcontent的例行程序在哪里?我用你的替换了我的while循环,但我现在出来了,仍然是0。好的,我将用新代码编辑我的原始问题