A voir également:
- Fichiers en c++
- Renommer des fichiers en masse - Guide
- Fichiers epub - Guide
- Wetransfer gratuit fichiers lourd - Guide
- Explorateur de fichiers - Guide
- Fichiers bin - 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
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
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
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
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 !