[C++] Ecriture de données dans un fichiers
Aurélien
-
soussitou Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
soussitou Messages postés 3 Date d'inscription Statut Membre Dernière intervention -
Salut !
Voilà, je suis grand novice en programmation ; j'aimerai écrire dans un fichier, au formait binaire (on m'a dit que ca prenait moins de place) ddes données que j'ai en fait mises en forme avec un tableau de tableaux de int. La question est simple, comment de fais ?
Et quand je vais récupérer les données, ca va bien se passer ?
Une autre idée que j'ai eut, c de créer une structure, qui aura 7 paramètres (ca g 7 sous-tableaux) : quel est l'avantage ?
Merci pour vos réponses
Aurélien
Voilà, je suis grand novice en programmation ; j'aimerai écrire dans un fichier, au formait binaire (on m'a dit que ca prenait moins de place) ddes données que j'ai en fait mises en forme avec un tableau de tableaux de int. La question est simple, comment de fais ?
Et quand je vais récupérer les données, ca va bien se passer ?
Une autre idée que j'ai eut, c de créer une structure, qui aura 7 paramètres (ca g 7 sous-tableaux) : quel est l'avantage ?
Merci pour vos réponses
Aurélien
A voir également:
- [C++] Ecriture de données dans un fichiers
- Écriture facebook - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Ecriture en gras - Guide
- Comment ouvrir un fichier bin ? - Guide
20 réponses
Bonjours tout le monde j'ai une question si vous pourriez m'aider SVP
je veux enregistrer le contenu d'un fichier (qui représente 200 valeur l'une en dessous de l'autre c-a-d 200 ligne ) dans un tableau donc chaque valeur dans une case de tableau... et merci d'avance.
je veux enregistrer le contenu d'un fichier (qui représente 200 valeur l'une en dessous de l'autre c-a-d 200 ligne ) dans un tableau donc chaque valeur dans une case de tableau... et merci d'avance.
Soit en gros pour reprendre : comment écrire autre chose que du texte dans un fichier ? Merci ......
En fait, écrire au format "binaire" ou au format "texte" ne signifie rien.
D'ailleurs sous Linux par exemple, l'ouverture "rt" n'a aucun effet : tout est ouvert en binaire.
Mais tu ne gagnes pas vraiment de place directement e de façon magique : que tu écrives un octet en mode binaire ou un octet en mode texte, tu auras toujours écrit un octet :-)
@++
Poster, poster encore et toujours :-)
D'ailleurs sous Linux par exemple, l'ouverture "rt" n'a aucun effet : tout est ouvert en binaire.
Mais tu ne gagnes pas vraiment de place directement e de façon magique : que tu écrives un octet en mode binaire ou un octet en mode texte, tu auras toujours écrit un octet :-)
@++
Poster, poster encore et toujours :-)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
http://f2gi.free.fr/files/cours/IOstream.html
J'ai trouvé ça, ça résume ce qu'on peut faire.
Pour clarifier ce que je disais : si ton programme écrit déjà dans un fichier et que tu veux juste passer en mode binaire sans rien changer d'autre, eh bien tu ne gagneras pas de place...
@++
Poster, poster encore et toujours :-)
J'ai trouvé ça, ça résume ce qu'on peut faire.
Pour clarifier ce que je disais : si ton programme écrit déjà dans un fichier et que tu veux juste passer en mode binaire sans rien changer d'autre, eh bien tu ne gagneras pas de place...
@++
Poster, poster encore et toujours :-)
slt ,
Tu n est pas obliger d erire tes fichiers en binaire car le gain de place n est pas vraiment important a ton nivo .
Dans ce cas je te conseil les fonction f_open ,f_write et f_read . Elles sont tres simple d utilisation . Regarde dans l aide de ton outil de developement il devrai y etre explique comment on les utilise . Si t as un pb pour comprendre l aide dis moi le et je t expliquerai .
Bonne chance
"A prendre la vie trop au serieux , on en sort pas en vie ".
Tu n est pas obliger d erire tes fichiers en binaire car le gain de place n est pas vraiment important a ton nivo .
Dans ce cas je te conseil les fonction f_open ,f_write et f_read . Elles sont tres simple d utilisation . Regarde dans l aide de ton outil de developement il devrai y etre explique comment on les utilise . Si t as un pb pour comprendre l aide dis moi le et je t expliquerai .
Bonne chance
"A prendre la vie trop au serieux , on en sort pas en vie ".
Bon, je suis vraiment une quiche en c++ .... pointeurs et tout ca, faut que j'apprenne. J'ai 2 erreurs à la ligne fwrite ...
struct Decimation
{
int FacteurDecimation;
int Offset;
};
void main (void) {
struct Decimation d1;
d1.FacteurDecimation=1;
d1.Offset=13;
FILE* sortie = NULL; /* périphérique de sortie */
sortie = fopen("ftext.txt", "wt");
fwrite(*d1,sizeof(struct Decimation),1,sortie);
}
et remplace :
par :
@++
Poster, poster encore et toujours :-)
sortie = fopen("ftext.txt", "wt");
par :
if ( (sortie = fopen("ftext.txt", "wt")) == NULL)
{
cerr<<"Erreur d'ouverture du fichier"<<endl;
return 1;
}
@++
Poster, poster encore et toujours :-)
Ah oui, aussi : fwrite te renvoie le nombre d'éléments écrits : tu dois donc vérifier que son retour est égal à 1 dans ton cas...
@++
Poster, poster encore et toujours :-)
@++
Poster, poster encore et toujours :-)
salut
pour repondre
ecrires en binaire ou en texte cvrai, cela , ne signifie rien du tout
ce n'est pas en terme de poids masse texte et binaire qu'il fo penser, mais en terme de portabilité efficiente.
les flux binaires gèrent directement les suites octales composées de bits. Donc, independemant des os et du matos
les flux textes, eux, sont formatées, donc, portables et réutilisables
par contre, les flux binaires sont beaucoup plus puissants que les flux texte.
on parle alors de courant binaire dans les flux
voilà
accès binaire en ansi_c> fread et fwrite> renvoyant respectivement le nb d'enregistrements specifiés en 3 eme argument des fonctions citées lus et ecrits.
accès texte>fonctions fgets, fputs, fgetc, fputc( caracteres/caracteres, ligne / ligne)
j'en ai ommis un volontairement......
cependant, l'astuce conciste a lire en binaire et a transferer pour des raisons de portabilités en texte...
bonne chance
abdel
pour repondre
ecrires en binaire ou en texte cvrai, cela , ne signifie rien du tout
ce n'est pas en terme de poids masse texte et binaire qu'il fo penser, mais en terme de portabilité efficiente.
les flux binaires gèrent directement les suites octales composées de bits. Donc, independemant des os et du matos
les flux textes, eux, sont formatées, donc, portables et réutilisables
par contre, les flux binaires sont beaucoup plus puissants que les flux texte.
on parle alors de courant binaire dans les flux
voilà
accès binaire en ansi_c> fread et fwrite> renvoyant respectivement le nb d'enregistrements specifiés en 3 eme argument des fonctions citées lus et ecrits.
accès texte>fonctions fgets, fputs, fgetc, fputc( caracteres/caracteres, ligne / ligne)
j'en ai ommis un volontairement......
cependant, l'astuce conciste a lire en binaire et a transferer pour des raisons de portabilités en texte...
bonne chance
abdel
Bonjour!
S'il vous plait,
comment fait t'on en C++ pour ecrire dans un fichier a partir d'un certain point, en ecrasant seulement les donnees a partir de ce point, sans perdre ce qui precede dans le fichier?
merci beaucoup!
S'il vous plait,
comment fait t'on en C++ pour ecrire dans un fichier a partir d'un certain point, en ecrasant seulement les donnees a partir de ce point, sans perdre ce qui precede dans le fichier?
merci beaucoup!
bonjour,
Je voudrais bien un programme qui stocke un tableau des structures dans un fichier puis recupère ce tableau.
Merci beaucoup
Je voudrais bien un programme qui stocke un tableau des structures dans un fichier puis recupère ce tableau.
Merci beaucoup
hassane svp jai besoin de votre aide svpppp faite vvvite je doit deposer ce jeudi mon memoire.jai déçidé a la derniere minute de programmer avec language C alors je metrise pas svppp jai vu votre annonce(sais tu faire un programme d'une matrice stocké ds un fichier puis réouvrir le fichier pour lire le contenu)
chaque ligne doit etre parcouru tout les 4milli seconde
si tu a qoi qe se soit envoi moi le svpppppp 0552127406
chaque ligne doit etre parcouru tout les 4milli seconde
si tu a qoi qe se soit envoi moi le svpppppp 0552127406
Bonjours tout le monde j'ai un petit soucis si vous pourriez m'aider SVP
j'ai un programmes en c++ qui traite un objet de 200 ligne alors quand je transforme cet objet en string pour pouvoire l'enregistrer en format txt j'obtient sur mon texte que la dérnière ligne (numéro 200) ....sachant que j'utilise la commande ofstream pour écrire sur le fichier texte ....si qlq à une idée et merci d'avance.
j'ai un programmes en c++ qui traite un objet de 200 ligne alors quand je transforme cet objet en string pour pouvoire l'enregistrer en format txt j'obtient sur mon texte que la dérnière ligne (numéro 200) ....sachant que j'utilise la commande ofstream pour écrire sur le fichier texte ....si qlq à une idée et merci d'avance.
Salut,
Peut être que tu trouvera ta réponse dans le cours sur les fichiers sur ce site : http://tibo.lelore.free.fr/IRIS/1Annee/cpp/...
Peut être que tu trouvera ta réponse dans le cours sur les fichiers sur ce site : http://tibo.lelore.free.fr/IRIS/1Annee/cpp/...
SVPPPPP DE LAAIIIIIIIDE avans le 24septembre(((ce jeudi dernier délai de dépo de memoire d'électronique )))
je vais déposer ce mercredi mon memoire pour soutenir la semaine prochaine.je programme en VHDL mais seulement c'est trés difficil alors jai trouvé une solution.je peut programmer avec C seulement je métrise pas jai trouvé cette idée hier sur le net(le passage Cvers VHDL existe) svp qquelqun peut mecrir le code c pour stocker une matrice (N*M ) dans un fichier puis réouvrir le fichier pour lire le contenu seulement il faut parcourir chaque ligne a 4 mili seconde???? contacter moi a neonessed@hot.fr((0552127406))
je vais déposer ce mercredi mon memoire pour soutenir la semaine prochaine.je programme en VHDL mais seulement c'est trés difficil alors jai trouvé une solution.je peut programmer avec C seulement je métrise pas jai trouvé cette idée hier sur le net(le passage Cvers VHDL existe) svp qquelqun peut mecrir le code c pour stocker une matrice (N*M ) dans un fichier puis réouvrir le fichier pour lire le contenu seulement il faut parcourir chaque ligne a 4 mili seconde???? contacter moi a neonessed@hot.fr((0552127406))