Rechercher : dans
Par :

[C++] Ecriture de données dans un fichiers

Dernière réponse le 20 sep 2009 à 11:21:27 Aurélien, le 23 jun 2003 à 14:37:28 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « [C++] Ecriture de données dans un fichiers » dans :
Sauvegarder les données de l'entreprise VoirLes solutions de sauvegardes de données pour les PME La perte de données stockées sur un ordinateur professionnel peut avoir des conséquences dramatiques pour l'entreprise. Vols, sinistres, défaillance informatique, piratage : l'origine des pertes...
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
[MS-Dos] Lister le contenu d'un répertoire dans un fichier VoirIl peut s'avérer pratique d'effectuer le listage d'un ou plusieurs répertoires dans un fichier, afin de tenir par exemple un catalogue de fichiers. Sous MS-Dos (ou sous Windows en ouvrant une fenêtre d'invite de commande MS-Dos) il est possible...
Langage C++ - Les types de données VoirLes types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...
Qu'est-ce qu'un fichier? VoirQu'est-ce qu'un fichier? Un fichier est une suite d'informations binaires, c'est-à-dire une suite de 0 et de 1. Ce fichier peut être stocké pour garder une trace de ces informations. Un fichier texte est un fichier composé de caractères stockés...

1

Aurélien, le 23 jun 2003 à 15:01:52

Soit en gros pour reprendre : comment écrire autre chose que du texte dans un fichier ? Merci ......

Répondre à Aurélien

2

batmat, le 23 jun 2003 à 15:13:49

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 :-)

Répondre à batmat

3

batmat, le 23 jun 2003 à 15:16:19

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 :-)

Répondre à batmat

5

Aurélien, le 23 jun 2003 à 15:18:57

Ok merci batmat,
si par contre mes données etaient des structures par ex, comment les stocker alors ? (le truc, c que je n'ai que des notions de c, et je sais que iostream.h ... ca convient plus pour du c++, c pas top.
fread et fwrite sont des fonctions appropriées pour ca ?
Merci
Auré

Répondre à Aurélien

4

Don_Corleone, le 23 jun 2003 à 15:17:46

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 ".

Répondre à Don_Corleone

6

Aurélien, le 23 jun 2003 à 15:29:07

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);
}

Répondre à Aurélien

7

batmat, le 23 jun 2003 à 15:42:21

N'écris pas *dl mais &dl
@++
Poster, poster encore et toujours :-)

Répondre à batmat

8

batmat, le 23 jun 2003 à 15:44:52

Et remplace :

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 :-)

Répondre à batmat

9

Aurélien, le 23 jun 2003 à 15:45:23

Ok merci ... suis vraiment nul ...
i'll be back for other questions
Auré

Répondre à Aurélien

11

batmat, le 23 jun 2003 à 15:48:37

Arrete de dire que t null :-)
Tout le monde a commencé un jour ;p L'important c de bosser et d'y croire. Un bon truc pour comprendre c de tenter d'aider les autres. (Mais fo qd meme attendre un ptit peu pour pas risquer d'induire trop en erreur :-D)



@++
Poster, poster encore et toujours :-)

Répondre à batmat

10

batmat, le 23 jun 2003 à 15:46:12

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 :-)

Répondre à batmat

12

Aurélien, le 23 jun 2003 à 16:03:58

Ok merci pour ton aide & encouragements batmat ! c cool
A+

Répondre à Aurélien

13

abdelhak, le 13 nov 2003 à 11:48:20

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

Répondre à abdelhak

14

blobette, le 17 jun 2004 à 16:44:10

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!

Répondre à blobette

15

pi€rre, le 17 jun 2004 à 17:23:10

FILE * fic=fopen(chemin_fic,"a");
ouvre en ecriture et positionne fic à la fin du fichier

Répondre à pi€rre

16

benita092000, le 26 oct 2004 à 17:26:00

Salut

Répondre à benita092000

17

HASSANI, le 11 déc 2004 à 21:59:21

Bonjour,

Je voudrais bien un programme qui stocke un tableau des structures dans un fichier puis recupère ce tableau.

Merci beaucoup

Répondre à HASSANI

23

 soussitou, le 20 sep 2009 à 11:21:27

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

Répondre à soussitou

18

anes, le 28 mar 2008 à 19:03:11

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.

Répondre à anes

19

Tibo, le 29 mar 2008 à 18:54:57

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/...

Répondre à Tibo

20

anes, le 3 avr 2008 à 08:33:23

Merci beaucoup Tibo pour ta réponse je vais voir le lien......a+.

Répondre à anes

21

anes, le 10 avr 2008 à 17:06:33

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.

Répondre à anes