Lecture écriture dans un fichier formaté

borgeomi Messages postés 77 Date d'inscription mercredi 20 juin 2001 Statut Membre Dernière intervention 23 juin 2011 - 11 févr. 2003 à 19:39
cs_pheno Messages postés 141 Date d'inscription mardi 30 avril 2002 Statut Membre Dernière intervention 23 mars 2005 - 14 févr. 2003 à 18:44
borgeomibonjouuuuuuur !!!!!

Vieux programmeur C et COBOL

Je voudrais écrire un programme orientée objet qui lit et écrit dans un fichier structuré

( Equivalent d'une clause copie en cobol )

En me servant de classe du type

Classe fichier
Classe enregistrement
Classe zone 1
Etc

Est ?ce la bonne méthode ?

Exemple ?

Merci d'avance

Cordialement


Michel BORGEOT

8 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
11 févr. 2003 à 21:19
pour quel systeme ???
Sur Win32 pas besoin de classes qui ne feront que alourdir et ralentir ton prog.
CreateFile(...) creation et/ou ouverture
WriteFile(...) ecriture
ReadFile(...) lecture
SetFilePointeur(...) positionnement
SetEndOfFile() delimitation
etc
ciao...
0
cs_davidsm Messages postés 35 Date d'inscription lundi 6 janvier 2003 Statut Membre Dernière intervention 12 novembre 2004
11 févr. 2003 à 22:42
Bonjour

Si tu veux programmer en C++ et travailler les fichiers, il faut utiliser la classe fstream. Regardes sur ce site il y a des choses.

Principe en C++
Suivant la nature de tes Enregistrements, tu utilises les types de base du langage C++ ou tu peux être conduit à les définir par des structures ou mieux des classes. Tu appliques ensuite les services de la classe ftream sur tes Enregistrements.

Bonne prog++
0
cs_pheno Messages postés 141 Date d'inscription mardi 30 avril 2002 Statut Membre Dernière intervention 23 mars 2005 1
12 févr. 2003 à 21:31
Tu peux aussi le faire en C.
tu déclares une structure
typedef struct
{

}
nomstruct;

et tu lis et ecrit dans ton fichier
c'est simple, rapide, et ton fichier est structuré.
exple:
val1 val2 val3
ou
val1;val2;val3
enfin tu peux faire un peu n'importe quoi comme structure de fichier.
Chevalier Pheno Starboard, membre de la Freeman-Corp
0
cs_davidsm Messages postés 35 Date d'inscription lundi 6 janvier 2003 Statut Membre Dernière intervention 12 novembre 2004
12 févr. 2003 à 23:31
L'auteur du message originel souhaite "écrire un programme orientée objet" qui lit et écrit dans un fichier structuré.

On s'embête pas avec les classes et on dit : La structure est une forme de classe et on définit avec le format des enregistrements comme ci-dessous.

// Mon enregistrement Fichier
typedef struct {
int monTab[5];
unsigned char monCar;
} Monstruct;

int main(void){
Monstruct data;

// Question :
// Comment répondre à ses attentes ?

return 0;
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_pheno Messages postés 141 Date d'inscription mardi 30 avril 2002 Statut Membre Dernière intervention 23 mars 2005 1
13 févr. 2003 à 06:47
FILE *f;
int ff;
f=fopen("fichier.dat","a+");
if (f != NULL)
{
ff=fprintf(f, "%d;%d;%d;%d;%d;%c\n", data.MonTab[0],data.MonTab[1],........,data.MonChar);
code=1;
}
fclose(f);

Voila ce bout de code t insere toutes les donnees de ta structure dans le fichier, en mettant des ; entre chaque donnee.

J espere avoir répondu a ta question?
pour lire, utilise fscanf
@++

Chevalier Pheno Starboard, membre de la Freeman-Corp
0
borgeomi Messages postés 77 Date d'inscription mercredi 20 juin 2001 Statut Membre Dernière intervention 23 juin 2011
13 févr. 2003 à 16:48
Merci pour ces réponses

mais je voulais créer pour chaque zone une sous classe de la classe enreg
où je pourrais définir des attributs premettant de contrôler les valeurs présentes en focnfton du type de la zone

borgeomibonjouuuuuuur !!!!!
0
borgeomi Messages postés 77 Date d'inscription mercredi 20 juin 2001 Statut Membre Dernière intervention 23 juin 2011
14 févr. 2003 à 15:59
Merci pour l aréponse

J'ai donc essayé la structure

étape 1 ) avec des strings

struct enregistrement

{
string zone_date;
};

avec un fichier en sortie out et un ordre write

out.write ( ( char * ) &enreg , sizeof ( struct enregistrement ) )

> fichier illisible

étape 2 )

struct enregistrement

{
const char* zone_date;
};

mais là comment écrit-on ?

out << enreg ;non valide

Merci d'avance

borgeomibonjouuuuuuur !!!!!
0
cs_pheno Messages postés 141 Date d'inscription mardi 30 avril 2002 Statut Membre Dernière intervention 23 mars 2005 1
14 févr. 2003 à 18:44
Ah pb je ne connais pas le c++
je ne peux donc pas t aider, je connais que le C
:'(
Chevalier Pheno Starboard, membre de la Freeman-Corp
0
Rejoignez-nous