home *** CD-ROM | disk | FTP | other *** search
- /*********************************************************************
- * CH15_07.C Lire un fichier texte comme une seule chaεne *
- *********************************************************************/
-
- #include<stdio.h>
- #include<alloc.h>
- #include<process.h>
-
- #define fichier "c:\\albulus\\chap_15\\exercice.txt"
-
- main( void)
- {
- int i0= 16;
- double dble0= 3.141592654;
- char c0= 'Z',
- chaine0[]= "Petrus_Albulus", *chaine1;
- FILE *flux;
- long taille;
-
- flux= fopen( fichier, "w+t");
-
- /* 1. Ecriture des donnΘes dans le fichier. */
- fprintf( flux, "%d %s %c %.9lf", i0, chaine0, c0, dble0);
-
- /* 2. Repositionnement α la fin du fichier. */
- fseek( flux, 0L, 2);
-
- /* 3. Calcul de la taille du fichier. */
- taille= ftell( flux);
- printf("\n taille du fichier: %ld\n", taille);
-
- /* 4. CrΘation dynamique d'une chaεne ayant la taille du fichier.*/
- chaine1= ( char*) malloc( taille+ 1);
- if( chaine1== NULL)
- {
- printf("\n La mΘmoire disponible est insuffisante!\n");
- exit( 1);
- }
- /* 5. Repositionnement au dΘbut du fichier. */
- fseek( flux, 0L, 0);
-
- /* 6. Lecture du fichier, fermeture et affichage. */
- if( fscanf( flux, "%[^(EOF)]", chaine1) == EOF)
- {
- printf("\n Erreur d'Θcriture d'une chaεne!\n");
- exit(1);
- }
-
- fclose( flux);
-
- printf("\n %s", chaine1);
- }
- /*
- 16 Petrus_Albulus Z 3.141593
-
- */