J'essaie de supprimer les voyelles d'un fichier texte et j'ai quelques problèmes. Je reçois une erreur de compilateur en ligne 6 disantConversion invalide de const char en char - Suppression de voyelle
invalid conversion from const char to char
Je suis sûr que cela a à voir avec la façon dont je suis la mise en place du flux de fichiers dans mon code. J'utilise fstream car il est utilisé pour la lecture et l'écriture, mais je n'ai inclus aucun des modes ouverts parce que je pensais pouvoir écrire et lire dans le fichier sans eux (je suis sûr que vous devez utiliser un Je ne sais pas non plus lequel.) En outre, je ne suis pas sûr que la façon dont j'ai configuré l'opérateur égal soit légale ou non (le lira-t-il comme si [i] est égal à a ou e ou i ou o ou u).
code:
#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();
}
Vous devez accepter l'une des réponses à votre question initiale, et au lieu de modifier celui-ci, ouvrez une nouvelle question pour ton autre problème. –
OK. En général, j'ai eu l'impression que vous devriez simplement modifier votre question si vous en avez une autre, mais je vais vous croire sur parole – trikker
J'ai ramené cette question à la version originale, puisque la nouvelle version est postée ailleurs (http://stackoverflow.com/questions/1191349/why-doesnt-this-change-the-txt-file) et la réponse ne correspond pas à la nouvelle version – Brian