我试图从文本文件中删除元音,并遇到一些麻烦。我在第6行收到编译器错误,说从const char到char的转换无效 - 元音删除
invalid conversion from const char to char
我敢肯定,这与我在我的代码中设置文件流的方式有关。我使用fstream,因为它用于读写,但我没有包含任何开放模式,因为我认为我可以在没有它们的情况下写入和读取文件(我非常确定您必须使用一个,我只是不确定哪一个。)另外,我不确定我设置等号运算符的方式是否合法(它是否将s [i]等于a或e或i或o或u)。
代码:
#include "std_lib_facilities.h"
void vowel_removal(string& s)
{
for(int i = 0; i < s.length(); ++i)
if(s[i] == ('a' || 'e' || 'i' || 'o' || 'u')) s[i] = " ";
}
int main()
{
cout << "Enter file name.\n";
string filename;
cin >> filename;
fstream f(filename.c_str());
string word;
while(f>>word){
vowel_removal(word);
f << word;
}
keep_window_open();
}
你应该接受给你原来的问题的答案之一,而不是编辑这一块,打开一个新的问题为你的其他问题。 – 2009-07-28 00:25:06
好的。一般来说,我一直认为你应该编辑你的问题,如果你有另一个问题,但我会听取你的意见。 – trikker 2009-07-28 00:28:30