Question concernant les fonctions
Bonjour,
Je découvre tout doucement le C++.
J'étais en train de tester, de créer une fonction pour l'écriture dans des fichiers.
J'ai donc testé de la sorte :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| // exemple 1 ça marche :
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
void ecrireFichier()
{
ofstream fichier("c:\\fichier.txt", ios::out | ios::trunc); // ouverture en écriture avec effacement du fichier ouvert
fichier << "Bonjour";
fichier.close();
}
int main()
{
ecrireFichier();
} |
Puis de la sorte, qui fonctionne également
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| .
// ##############################
//exemple 2 : ça marche aussi
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
void ecrireFichier(string valeur)
{
ofstream fichier("c:\\fichier.txt", ios::out | ios::trunc); // ouverture en écriture avec effacement du fichier ouvert
fichier << valeur;
fichier.close();
}
int main()
{
ecrireFichier("Salut !");
} |
Par contre ici, en mettant en parametre à la fois le chemin du fichier et la valeur à écrire, ça coince.
J'ai l'erreur suivante dans Code::Blocks
Citation:
erreur à la ligne 11 "error: no matching function for call to 'std::basic_ofstream<char>::basic_ofstream(std::string&, std::_Ios_Openmode)'|"
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
|
//##########################
// exemple 3 : ça ne marche pas
//erreur à la ligne 11 "error: no matching function for call to 'std::basic_ofstream<char>::basic_ofstream(std::string&, std::_Ios_Openmode)'|"
#include <iostream>
#include <string>
#include <fstream>
using namespace std;
void ecrireFichier(string fichierEcrire, string valeur)
{
ofstream fichier(fichierEcrire, ios::out | ios::trunc); // ouverture en écriture avec effacement du fichier ouvert
fichier << valeur;
fichier.close();
}
int main()
{
ecrireFichier("c:\\fichier.txt", "Salut !");
} |
Pourriez vous m'expliquer ce qui semble poser problème ?
Merci ;)