Я пытаюсь удалить гласные из текстового файла, и у меня проблемы. Я получаю ошибку компилятора в строке-говоряНеверное преобразование из const char в char - Удаление Vowel
invalid conversion from const char to char
Я уверен, что это должно сделать с тем, как я настраиваю файловый поток в своем коде. Я использую fstream, поскольку он используется для чтения и записи, но я не включил ни один из открытых режимов, потому что я думал, что могу писать и читать в/из файла без них (я уверен, что вы должны использовать один , Я просто не уверен, какой из них.) Кроме того, я не уверен, что способ, которым я устанавливаю оператор equals, является законным или нет (будет ли он читать его, как если бы 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();
}
Вы должны принять один из ответов на ваш первоначальный вопрос, и вместо того, чтобы редактировать эту, открыть новый вопрос для вашей другой проблемы. –
Хорошо. Как правило, у меня создалось впечатление, что вы должны просто отредактировать свой вопрос, если у вас есть другой, но я возьму ваше слово за это. – trikker
Я вернул этот вопрос в исходную версию, так как новая версия опубликована в другом месте (http://stackoverflow.com/questions/1191349/why-doesnt-this-change-the-txt-file), и ответ не соответствует новой версии. – Brian