无法打开.dat文件

时间:2013-06-20 00:23:27

标签: c++ file-io vector output ifstream

在尝试打开“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

1 个答案:

答案 0 :(得分:1)

您的程序不会尝试打印任何内容,因此没有输出也就不足为奇了。添加循环并打印出非零条目:

for (int i = 100; i >= 0; i--)
{
    if (test[i])
    {
        cout << i << ": " << test[i] << endl;
    }
}