A voir également:
- C++ Erreur variable
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Erreur 5000 france tv - Forum iPhone
4 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
20 févr. 2011 à 15:27
20 févr. 2011 à 15:27
Bonjour,
La prochaine fois que tu as une erreur, n'hésite pas à copier coller le message d'erreur. Non seulement, il précise la ligne, mais en plus cela donne une idée de l'erreur.
Dans ton cas, l'erreur vient de if(!remove(fichier)=0)
En C++, l'opérateur de comparaison est == pas le simple =.
Cdlt,
La prochaine fois que tu as une erreur, n'hésite pas à copier coller le message d'erreur. Non seulement, il précise la ligne, mais en plus cela donne une idée de l'erreur.
Dans ton cas, l'erreur vient de if(!remove(fichier)=0)
En C++, l'opérateur de comparaison est == pas le simple =.
Cdlt,
Merci de ta réponse, mais cela m'affiche la même erreur :
error: cannot convert 'std::string' to 'const char*' for argument '1' to 'int remove(const char*)'|
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
20 févr. 2011 à 16:39
20 févr. 2011 à 16:39
L'erreur est simple.
L'argument doit être de type const char*, alors que toi tu y mets un string.
Il faut que tu le convertisses en char* ou alors que tu mettes ta variable en tableau de char.
Cdlt,
L'argument doit être de type const char*, alors que toi tu y mets un string.
Il faut que tu le convertisses en char* ou alors que tu mettes ta variable en tableau de char.
Cdlt,
Peux-tu parler en français STP ^^
Non, sérieux, je ne comprend pas du tout le message que tu essayes de me faire passer !
Désolé de mon manque de compréhension, mais je suis archi nul ...
Non, sérieux, je ne comprend pas du tout le message que tu essayes de me faire passer !
Désolé de mon manque de compréhension, mais je suis archi nul ...
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
20 févr. 2011 à 17:47
20 févr. 2011 à 17:47
Un peu d'anglais : error: cannot convert 'std::string' to 'const char*' for argument '1' to 'int remove(const char*)'
Erreur : impossible de convertir 'std::string" en 'const char*' dans la fonction int remove(const char*).
Effectivement, dans remove, il faut mettre une variable de type "const char*". Alors que toi tu as mis : string fichier, et non char fichier[20];
Si tu comprends pas ce qu'est une variable, un type, un const char*, je te conseille d'aller sur le site du zéro pour apprendre les bases. Sans ça, tu resteras souvent bloquer.
Cdlt,
Erreur : impossible de convertir 'std::string" en 'const char*' dans la fonction int remove(const char*).
Effectivement, dans remove, il faut mettre une variable de type "const char*". Alors que toi tu as mis : string fichier, et non char fichier[20];
Si tu comprends pas ce qu'est une variable, un type, un const char*, je te conseille d'aller sur le site du zéro pour apprendre les bases. Sans ça, tu resteras souvent bloquer.
Cdlt,
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
Modifié par fiddy le 20/02/2011 à 18:07
Modifié par fiddy le 20/02/2011 à 18:07
Je pense que cela aurai était plus simple que tu me donnes le code
Ben je te l'ai donné...
Alors que toi tu as mis : string fichier, et non char fichier[20];
Dis autrement, remplace string fichier; par char fichier[20]; et cela devrait marcher.
Ben je te l'ai donné...
Alors que toi tu as mis : string fichier, et non char fichier[20];
Dis autrement, remplace string fichier; par char fichier[20]; et cela devrait marcher.
Merci !
Don voici mon code mis à jour :
Seulement les espaces tapé ne sont pas géré !!!
Comment puis-je y remédier ?
Don voici mon code mis à jour :
#include <cstdlib> #include <iostream> #include <fstream> #include <string> using namespace std; int main() { char fichier[20]; cout << "Veuillez entrer le nom du fichier à supprimer :" << endl; cin>>fichier; remove(fichier); cout << "La supression a été effectué avec succes !" << endl; int pause; cin>>pause; return 0; }
Seulement les espaces tapé ne sont pas géré !!!
Comment puis-je y remédier ?
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
20 févr. 2011 à 18:34
20 févr. 2011 à 18:34
A la place de cin>> fichier, mets : getline(cin,fichier);
Ha, petite erreur :
error: no matching function for call to 'getline(std::istream&, char [20])'
Mais en cherchant un peu, j'ai trouvé sa :
error: no matching function for call to 'getline(std::istream&, char [20])'
Mais en cherchant un peu, j'ai trouvé sa :
#include <cstdlib> #include <iostream> #include <fstream> using namespace std; int main() { string fichier; cout << "Veuillez entrer le nom du fichier à supprimer :" << endl; getline(cin,fichier); const char * fichier2 = fichier.data (); remove(fichier2); cout << "La supression a été effectué avec succes !" << endl; int pause; cin>>pause; return 0; }