C++ Erreur variable
HTML BOY
-
HTML BOY -
HTML BOY -
Bonjour, ce code ne marche pas :
Seriez-vous m'expliquer pourquoi ?
Merci de vos futurs réponse !
#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
string fichier;
cout << "Veuillez entrer le nom du fichier à supprimer :" << endl;
cin>>fichier;
if(!remove(fichier)=0)
{
cout << "Suppression du fichier effectué !" << endl;
}
else
{
cout << "Erreure lors de la supression !" << endl;
}
int pause;
cin>>pause;
return 0;
}
Seriez-vous m'expliquer pourquoi ?
Merci de vos futurs réponse !
A voir également:
- C++ Erreur variable
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Word
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
4 réponses
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*)'|
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 ...
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,
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 ?
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;
}