Lecture ecriture dans un fichier binaire
J'arrive pas à lire les données écrites dans un fichier binaire.
J'ai esayé avec des données intger tout marche mais ca marche pas avec des données caractéres.
J'ai rédigé deux programmes un d'écriture et un de lecture.
Programme d'écriture
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
#include <stdio.h>
int main (void) {
FILE * fichier;
char *t1[30]; int i, nbo, j;
char *t2[30];
/* Ouverture d'un fichier */
fichier = fopen( "c:\\test04.txt", "wb");
if( fichier==NULL )
{
printf("\nErreur en lecture de %s\n", "c:\\test04.txt");
}
else
{
for (i=0;i<=29;i++)
{
if (i<=9)
{ t1[i]="chien0" +i ;
t2[i]="chat0" +i ;
}
else
{
t1[i]="chien" +i ;
//printf("rrrr= %s" , t1[i]);
t2[i]="chat" +i ;
}
}
fwrite (t1,sizeof(char),30,fichier);
fwrite (t2,sizeof(char),30,fichier);
}
fclose(fichier);
return 0;
} |
Programme de lecture
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
#include <stdio.h>
int main (void) {
FILE * fichier;char *td[30]; int i, nbo, j;
/* Ouverture d'un fichier */
fichier = fopen( "c:\\test04.txt", "rb");
printf("\nxxxxxxxxx%s\n", fichier);
if( fichier==NULL )
printf("\nErreur en lecture de %s\n", "c:\\test04.txt");
else
{
/* Lecture en une seule instruction */
nbo = fread( td, sizeof(char), 30, fichier);
printf("%d 111 elements lus a partir de %s\n", nbo, "c:\\test04.txt");
for( i=0; i<nbo; i++) printf(" %s", td[i]);
printf("\n");
fclose( fichier);
}
//scanf("%d", &j);
//printf("\n");
return 0;
} |