我試圖從文本文件中刪除元音,並遇到一些麻煩。我在第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