在尝试打开“test.dat”文件时,很难弄清楚我做错了什么。它似乎是打开它,但不是为了输出而读它。该程序应该读取数字的频率。
#include <iostream>
#include <vector>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string fileName;
int aTest;
cout << "Enter a File Name: ";
cin >> fileName;
ifstream inFile (fileName.c_str());
if (! inFile)
{
cout << "!!Error in opening file 'test.dat'"<< endl;
}
vector<int> test(101, 0);
while(inFile >> aTest) {
test[aTest]++;
}
system("pause");
return 0;
}
test.dat文件
75 85 90 100
60 90 100 85
75 35 60 90
100 90 90 90
60 50 70 85
75 90 90 70
这就是我的输出现在的样子
Enter a File Name: test.dat
Press any key to continue . . .
看起来像是
的方式Enter file name: test.dat
100: 3
90: 8
85: 3
75: 3
70: 2
60: 3
50: 1
35: 1
答案 0 :(得分:1)
您的程序不会尝试打印任何内容,因此没有输出也就不足为奇了。添加循环并打印出非零条目:
for (int i = 100; i >= 0; i--)
{
if (test[i])
{
cout << i << ": " << test[i] << endl;
}
}