A voir également:
- C++ Erreur variable
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Erreur 1004 vba ✓ - Forum VB / VBA
- Vba range avec variable ✓ - Forum VB / VBA
- Erreur 1000 france tv - Forum MacOS
- Youtube une erreur s'est produite ✓ - Forum YouTube
4 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 816
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 816
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 816
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 816
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 816
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;
}