Comprendre le commandes Cpp

smail82 Messages postés 95 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
je veux bien comrendre le programme suivant les commandes utiliser pour traiter les file Fil *fichier ...
est ce que il ya quelque pour m'aider a comprendre les commandes utilisées dans le code suivant:

#include <stdio.h>
#include <conio.h>

void main ()
{
FILE *fichier;
int i,n;
fichier = fopen ("nombre.dat","wb+");

for (i=0;i<10;i++)
{
printf ("N=");
scanf("%d",&n);
putw(n,fichier);
}

2 réponses

  1. smail82 Messages postés 95 Date d'inscription   Statut Membre Dernière intervention   3
     
    sam
    0
  2. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
     
    Bonjour,

    Tout d'abord, il s'agit de C et non de C++.
    Ensuite, c'est dommage d'inclure <conio.h> qui enlève la portabilité alors que tu ne te sers pas de ses fonctions.
    Le prototype de main() sans argument, c'est : int main(void) et non void main(); Du coup, il ne faut pas oublier le "return 0;" ) la fin.
    Et enfin, on n'oublie pas de fermer un fichier ouvert. Même si le return 0; final ferme souvent tous les fichiers ouverts, cela n'est pas un comportement standard.
    Ce qui donne le programme suivant (avec des commentaires) :
    /*on insère en début de fichier, les lignes du fichier stdio.h qui contient les prototypes des fonctions entrées/sorties*/
    #include <stdio.h> 
    
    int main (void) 
    { 
    /*déclaration des variables*/
    FILE *fichier; 
    int i,n; 
    
    /*on ouvrele fichier "nombre.dat" en lecture/écriture (si le fichier existe, les lignes seront supprimées, sinon le fichier sera créé). Et enfin le "b" est inutile, il sera même ignoré par le compilateur*/
    fichier = fopen ("nombre.dat","wb+"); 
    
    /*on effectue 10 itérations, et on incrémente i à chaque itération*/
    for (i=0;i<10;i++) 
    { 
    /*on affiche "N=" à l'écran*/
    printf ("N="); 
    /*l'utilisateur tape la valeur qu'il souhaite et valide. La valeur sera stockée dans n*/
    scanf("%d",&n); 
    /*on écrire le nombre n dans le fichier*/
    putw(n,fichier); 
    /*Il manquait une accolade dans ton programme*/
    }
    /*fermeture du fichier. On met NULL dans fichier. C'est une bonne habitude à prendre, même si inutile ici*/
    fclose(fichier),fichier=NULL;
    /*fin du programme. Il s'est déroulé correctement*/
    return 0;
    } 
    


    Cdlt,
    0