Précédent   Forum du club des développeurs et IT Pro > C et C++ > C++
C++ Forum d'entraide technique sur le langage C++. Avant de poster -> F.A.Q C++
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 31/12/2012, 22h33   #1
nekcorp
Nouveau Membre du Club
 
Étudiant
Inscription : décembre 2006
Messages : 99
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2006
Messages : 99
Points : 30
Points : 30
Envoyer un message via MSN à nekcorp
Par défaut Permettre à l'utilisateur d'entrer un nom de fichier

bonsoir,

Je souhaite créer un fichier, j'utilise donc :

Code :
1
2
 
ofstream fichier("toto.txt", ios::out | ios::trunc);
Cependant je souhaiterai que le nom toto soit remplacé par une variable afin que l'utilisateur puisse rentrer le nom qu'il souhaite lorsque cela lui sera demandé.

J'ai essayé avec ceci mais ça ne marche pas :

Code :
1
2
3
4
 
cout << "Enter file name :" << endl;
	cin >> File_Name;
        ofstream fichier(File_Name, ios::out | ios::trunc);
Voici le message d'erreur que j'ai :
Code :
1
2
3
4
5
6
 
write_file.cpp: In function ‘int main():
write_file.cpp:19: error: no matching function for call to ‘std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream(std::string&, std::_Ios_Openmode)/usr/include/c++/4.4/fstream:623: note: candidates are: std::basic_ofstream<_CharT, _Traits>::basic_ofstream(const char*, std::_Ios_Openmode) [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.4/fstream:608: note:                 std::basic_ofstream<_CharT, _Traits>::basic_ofstream() [with _CharT = char, _Traits = std::char_traits<char>]
/usr/include/c++/4.4/iosfwd:84: note:                 std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream(const std::basic_ofstream<char, std::char_traits<char> >&)
Un petit plus super sympa, serai que l'extension du fichier soit directement inclu dans mon code source. Je m'explique, l'utilisateur rentre tata lorsque cela lui ai demandé sans extension, mais dans mon code je souhaiterai que lorsque le fichier soit créé il ait l'extension .txt par exemple.

Merci de votre aide.
nekcorp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2012, 23h01   #2
nekcorp
Nouveau Membre du Club
 
Étudiant
Inscription : décembre 2006
Messages : 99
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2006
Messages : 99
Points : 30
Points : 30
Envoyer un message via MSN à nekcorp
J'ai trouvé ;-)

il fallait rajouter .c_str() juste aprés Name_File

Code :
1
2
3
4
 
cout << "Enter file name :" << endl;
	cin >> File_Name;
        ofstream fichier(File_Name.c_str(), ios::out | ios::trunc);
Encore merci
nekcorp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/12/2012, 23h07   #3
nekcorp
Nouveau Membre du Club
 
Étudiant
Inscription : décembre 2006
Messages : 99
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2006
Messages : 99
Points : 30
Points : 30
Envoyer un message via MSN à nekcorp
Citation:
Envoyé par nekcorp Voir le message
J'ai trouvé ;-)

il fallait rajouter .c_str() juste aprés Name_File

Code :
1
2
3
4
 
cout << "Enter file name :" << endl;
	cin >> File_Name;
        ofstream fichier(File_Name.c_str(), ios::out | ios::trunc);
Encore merci
J'ai retiré mon résolu car pour le moment ça marche mais mon petit plus avec l'extension toujours pas.

Donc comment je pourrai faire en sorte que le fichier créé ait une extension ?

J'avais pensé à un truc du genre :

Code :
 ofstream fichier(File_Name.c_str()&".txt", ios::out | ios::trunc);
nekcorp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2013, 09h48   #4
Neckara
Rédacteur/Modérateur

 
Avatar de Neckara
 
Homme Denis
Étudiant
Inscription : décembre 2011
Messages : 2 834
Détails du profil
Informations personnelles :
Nom : Homme Denis
Localisation : France, Loire (Rhône Alpes)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2011
Messages : 2 834
Points : 8 621
Points : 8 621
Envoyer un message via MSN à Neckara Envoyer un message via Skype™ à Neckara
Bonjour,

Code :
std::string( File_Name + ".txt" ).c_str()
?
__________________
Recherche devs C++ motivés et sérieux pour Last Dungeon.

Chaîne Youtube : Vidéos

Ma page DVP : http://neckara.developpez.com/
Neckara est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2013, 16h59   #5
PilloBuenaGente
Membre éclairé
 
Homme
Caissier
Inscription : décembre 2012
Messages : 219
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Caissier

Informations forums :
Inscription : décembre 2012
Messages : 219
Points : 329
Points : 329
Salut !

Citation:
write_file.cpp:19: error: no matching function for call to ‘std::basic_ofstream<char, std::char_traits<char> >::basic_ofstream(std::string&, std::_Ios_Openmode)’
J'ai l'impression qu'il te demande un "string" plutôt qu'un "const char"

Code :
1
2
3
4
5
6
7
8
9
10
11
 
#include .......
#include <string>
.....
    cout << "Enter file name :" << endl;
 
    string File_Name;
    getline(cin, File_Name);
 
    ofstream fichier(File_Name, ios::out | ios::trunc);
........
(PS, je n'ai pas essayé)
PilloBuenaGente est déconnecté   Envoyer un message privé Réponse avec citation 02
Vieux 01/01/2013, 18h50   #6
Bousk
Modérateur
 
Homme Cyrille
Network programmer
Inscription : juin 2010
Messages : 1 570
Détails du profil
Informations personnelles :
Nom : Homme Cyrille
Âge : 25
Localisation : France

Informations professionnelles :
Activité : Network programmer

Informations forums :
Inscription : juin 2010
Messages : 1 570
Points : 4 156
Points : 4 156
Code :
1
2
3
4
cout << "Enter file name :" << endl;
	cin >> File_Name;
        File_Name += ".txt";
        ofstream fichier(File_Name.c_str(), ios::out | ios::trunc);
les opérateurs sont surchargés pour std::string
Bousk est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/01/2013, 20h31   #7
nekcorp
Nouveau Membre du Club
 
Étudiant
Inscription : décembre 2006
Messages : 99
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2006
Messages : 99
Points : 30
Points : 30
Envoyer un message via MSN à nekcorp
Citation:
Envoyé par Bousk Voir le message
Code :
1
2
3
4
cout << "Enter file name :" << endl;
	cin >> File_Name;
        File_Name += ".txt";
        ofstream fichier(File_Name.c_str(), ios::out | ios::trunc);
les opérateurs sont surchargés pour std::string
Impeccable et encore merci ;-)
nekcorp est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 17h25.


 
 
 
 
Partenaires

Hébergement Web