我想查询用户的文本文件名,读取该文件并计算并显示文件中的元音总数。
我在查找元音的数量时没有任何问题,但我只是不知道如何阅读该特定的文本文件。
我在考虑类似的事情:
#include <iostream>
#include <fstream>
#include <string>
#include <cstdlib>
using namespace std;
int main()
{
ifstream inputFile;
string fileName;
char c;
int nNum = 0;
cout << "Enter the file name: ";
getline(cin, fileName);
// Open the file
inputFile.open(fileName.c_str());
// Check for successful opening
if(inputFile.fail())
{
cerr << "Error Opening File" << endl;
return(1);
}
while(!inputFile.eof())
{
inputFile.get(c);
if (c == 'a' || c == 'e' || c == 'o' || c == 'i' || c == 'u')
nNum++;
}
inputFile.close();
cout << nNum;
return 0;
}
当我输入时,我得到Error opening file
:test.txt(它位于我的桌面上)。我做错了什么?
更新:更改while循环以避免添加字符:
while(inputFile.get(c))
{
if (c == 'a' || c == 'e' || c == 'o' || c == 'i' || c == 'u')
nNum++;
}
仍在寻找一种解决方案,只允许我输入文件的名称(没有路径),无论它在哪里,以便我可以从中读取。