Fichiers en c++
Fermé
Maryy
-
15 avril 2002 à 18:42
mamiemando Messages postés 32283 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 mars 2023 - 9 déc. 2007 à 23:28
mamiemando Messages postés 32283 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 mars 2023 - 9 déc. 2007 à 23:28
A voir également:
- Fichiers en c++
- Wetransfer gratuit fichiers lourd - Guide
- WeTransfer - Télécharger - Téléchargement & Transfert
- Téléchargez cette archive (dossier compressé). en extraire tous les fichiers dans un dossier local. quel fichier contient l’expression trouverpix ? ✓ - Forum Windows
- Fichiers temporaires windows 10 - Guide
- Fichiers dat - Guide
4 réponses
Il me semble que fread et fwrite fonctionne de la meme maniere en C et en C++.
Les classes peuvent tenir lieu de structure mais tu y perds l'interet de programmer en oriente objet(la question se resume alors a pourquoi utiliser le C++ si je n'ai pas besoin de l'objet...)
a+
dje-dje
Les classes peuvent tenir lieu de structure mais tu y perds l'interet de programmer en oriente objet(la question se resume alors a pourquoi utiliser le C++ si je n'ai pas besoin de l'objet...)
a+
dje-dje
tafiscobar
Messages postés
1277
Date d'inscription
jeudi 7 décembre 2000
Statut
Contributeur
Dernière intervention
26 février 2009
177
17 avril 2002 à 11:14
17 avril 2002 à 11:14
bon voila :
fichier de type :
ifstream : on n p qu'y ecrire
ofstream : on n p qu'y lire
fstream : on p y lire et y ecrire.
sinon, ds ta classe, tu p declarer un fichier de type FILE *
et reecrire les focntions fwrite et fread pour ta classe.
si t'as le msdn, ds index ecris fstream et t'auras toutes les infos, sinon, dis le moi et je t'envoies tout en mode text par mail
tafiscobar
fichier de type :
ifstream : on n p qu'y ecrire
ofstream : on n p qu'y lire
fstream : on p y lire et y ecrire.
sinon, ds ta classe, tu p declarer un fichier de type FILE *
et reecrire les focntions fwrite et fread pour ta classe.
si t'as le msdn, ds index ecris fstream et t'auras toutes les infos, sinon, dis le moi et je t'envoies tout en mode text par mail
tafiscobar
maryy
Messages postés
14
Date d'inscription
lundi 15 avril 2002
Statut
Membre
Dernière intervention
26 mai 2004
1
17 avril 2002 à 11:35
17 avril 2002 à 11:35
Merci beaucoup, je vais m'y atteler :)
g une intéro ce mardi mé je sé pa manipulé les fichiers en c++
donc je voudré bien kon maide 1 ti peu
merci
donc je voudré bien kon maide 1 ti peu
merci
mamiemando
Messages postés
32283
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
17 mars 2023
7 572
9 déc. 2007 à 23:28
9 déc. 2007 à 23:28
Pour du C++ plus besoin de fopen ou de FILE * tu peux te contenter d'utiliser des flux. Grosso modo tu as deux familles de flux :
1) les flux ouvert en lecture : (vois ça comme un FILE * ouverte avec un fopen(...,"r")) : c'est la classe std::istream. Un std::istream comporte en particulier std::cin (entrée standard, stdin en C) et les std::ifstream (fichier ouverts en lecture).
2) les flux ouvert en écriture : c'est la classe std::ostream. Parmi les std::ostream tu as std::cout (sortie standard, stdout en C), std::cerr (sortie d'erreur standard, stderr en C), et les std::ofstream.
Tu as 4 headers principaux pour manipuler des flux :
Pour manipuler un flux :
1) il faut commencer par l'ouvrir (avec le constructeur) si tu veux manipuler un flux autre que std::cin, std::cerr, std::cout
2) ensuite il faut tester si le flux est correctement ouvert (il suffit de passer le flux dans un if)
3) s'il est ouvert tu peux le manipuler (opérateur << pour écrire dans un flux, opérateur >> pour lire dans un flux)
4) une fois terminé, et si ce flux s'est ouvert avec succès, tu es sensé fermer le flux (méthode close() ).
Un exemple concret :
Bonne chance
1) les flux ouvert en lecture : (vois ça comme un FILE * ouverte avec un fopen(...,"r")) : c'est la classe std::istream. Un std::istream comporte en particulier std::cin (entrée standard, stdin en C) et les std::ifstream (fichier ouverts en lecture).
2) les flux ouvert en écriture : c'est la classe std::ostream. Parmi les std::ostream tu as std::cout (sortie standard, stdout en C), std::cerr (sortie d'erreur standard, stderr en C), et les std::ofstream.
Tu as 4 headers principaux pour manipuler des flux :
#include <istream> // inclue juste la classe std::istream #include <ostream> // inclue juste la classe std::ostream #include <fstream> // inclue les std::ofstream et std::ifstream #include <iostream> // inclue istream, ostream, et configure std::cout et std::cerr
Pour manipuler un flux :
1) il faut commencer par l'ouvrir (avec le constructeur) si tu veux manipuler un flux autre que std::cin, std::cerr, std::cout
2) ensuite il faut tester si le flux est correctement ouvert (il suffit de passer le flux dans un if)
3) s'il est ouvert tu peux le manipuler (opérateur << pour écrire dans un flux, opérateur >> pour lire dans un flux)
4) une fois terminé, et si ce flux s'est ouvert avec succès, tu es sensé fermer le flux (méthode close() ).
Un exemple concret :
#include <fstream>
#include <iostream>
int main(){
const char *filename = "plop.txt";
std::ofstream ofs(filename);
if(ofs){
std::cout << "Ecriture de " << filename << std::endl;
ofs << "plop !" << std::endl;
ofs.close();
}else{
std::cerr << "Impossible d'ouvrir " << filename
<< " en écriture !" << std::endl;
}
return 0;
}
Bonne chance
17 avril 2002 à 11:04
J'ai trouvé ça :
fout.write((char*) &nom_objet, sizeof nom_objet);
Mais j'ai pas réussi à l'utiliser, en plus, les chaînes de caractères me posent pas mal de problèmes. M'enfin, pour les fichiers, ça reste assez mystérieux pour moi :)
Merci en tout cas !