Créer et reluire un fichier
Fermé
mobo
-
23 mars 2008 à 08:22
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 - 24 mars 2008 à 03:17
cchristian Messages postés 921 Date d'inscription lundi 21 janvier 2008 Statut Membre Dernière intervention 6 mars 2012 - 24 mars 2008 à 03:17
A voir également:
- Créer et reluire un fichier
- Créer un compte gmail - Guide
- Créer un compte google - Guide
- Créer un groupe whatsapp - Guide
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
1 réponse
cchristian
Messages postés
921
Date d'inscription
lundi 21 janvier 2008
Statut
Membre
Dernière intervention
6 mars 2012
131
24 mars 2008 à 03:17
24 mars 2008 à 03:17
Bonsoir,
J'ai fait une petite correction de ton code, par contre je ne sais absolument pas comment faire reluire un fichier.
Sinon c'était pas mal du tout,
J'ai fait une petite correction de ton code, par contre je ne sais absolument pas comment faire reluire un fichier.
//Oubli de int devant main (erreur à la compilation) int main() { //Initialise les variables. int i = 0; //Initialise les tableaux et prévois les plus grand. (au-delà ça plante !) char nomfi [64] = ""; char nomcar [16] = ""; FILE*fiche; //Précise davantage le sens des libellés des messages. while ( strlen (nomfi) < 5 || strlen (nomfi) > 20 ) { printf ("\n\n Entrez un nom fichier et son extension" " (minimum 5 c. - maximum 20 c.) : \n"); scanf ("%64s", nomfi); if (strlen (nomfi) < 5 || strlen (nomfi) > 20 ) { printf ("\n nom de fichier incohérent \n"); }; //Ici on pourrait pousser davantage les tests de cohérence .... } fiche = fopen (nomfi, "w"); for (i = 0; i < 5; i++) { printf ( "\n\n Saisir la chaine numero %d constitu\202e de " "3 c. au maximum : \n", i+1); while ( strlen (nomcar) != 3 ) { scanf ( "%16s", nomcar ); if ( strlen (nomcar) != 3 ) { printf ("\n Longueur de la chaine de caractères" " différente de 3 \n"); } //Ici on pourrait pousser davantage les tests de cohérence .... } // Pourquoi sizeof (int) ? tu fais : scanf ( "%3s", nomcar ); // fwrite ( nomcar, sizeof (int), 5, fiche ); fwrite ( nomcar, sizeof (char), 3, fiche ); nomcar [0] = '\0'; } //Tu avais oublié cette séquence (ajout de 3 caractères) //----------------------- fclose ( fiche ); fiche = fopen (nomfi, "a+"); fwrite ( "***", sizeof (char), 3, fiche ); fclose ( fiche ); // ----------------------- fiche = fopen ( nomfi, "r" ); for ( i = 0; i < 6; i++ ) { fread (nomcar, sizeof(char), 3, fiche); printf ( "\n%3s\n", nomcar ); } fclose ( fiche ); system ( "PAUSE" ); return ( 0 ); }
Sinon c'était pas mal du tout,