Fonction en C qui charge et sauvegarde

sisimouhamed -  
HACKER 712 Messages postés 1463 Statut Contributeur -
Bonjour,
je voudrais savoire que faire réellement la fonction fscanf et la fonction fprintf.Je pensse que la fonction fscanf sert à sauvegarder des données qui se trouve dans un fichier en memoire centrale et que fprintf sert à charger des donées dans un memoire centrale à un fichier.Merci de m'aider je compte sur vous
Configuration: Windows XP Internet Explorer 7.0

4 réponses

  1. HACKER 712 Messages postés 1463 Statut Contributeur 255
     
    oui, c'est ca :

    ex :

    //directives de processeur

    int main() {

    FILE *fichier = NULL;
    int nombreAllumettes = 15;
    char texteRecupere[100];
    char caractere = 0;
    int i;

    fichier = fopen("texte.txt", "r+");
    if(fichier == NULL)
    return -1;

    else if(fichier != NULL){
    fprintf(fichier, "tu as %ld allumettes dans ta boite !", nombreAllumettes);

    rewind(fichier); // on met le curseur au debut, on sait jamais...

    for(i=0 ; caractere != EOF ; i++) {
    caractere = fgetc(fichier); // on recupere tous les caracteres, autre facon de faire qu'avec fscanf...
    texteRecupere[i] = caractere;
    }

    printf("%s", texteRecupere); // cela va affichier en console le texte du fichier : tu as 15 allumettes dans ta boite !

    return 0;
    }

    en fait, fprintf est utile si tu as besoin d'utiliser des variables ou autre.
    car fputs marche tres bien aussi, mais ecrire
    fputs("coucou %s !", fichier, prenom);

    est completement faux !
    fputs sert quand tu veux juste rentrer du texte;
    fputc sert quand tu veux rentrer un caractere;
    1
    1. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847
       
      Salut,

      return -1; ce n'est pas standard. On retourne EXIT_FAILURE (qui vaut 1 souvent).

      fprintf(fichier, "tu as %ld allumettes dans ta boite !", nombreAllumettes);
      %ld, c'est pour les long. Ta variable est un int, donc il faut mettre %d..0

      rewind(fichier); // on met le curseur au debut, on sait jamais...
      Si si on sait ;-))). La norme te garantie que le pointeur de flux sera au début du fichier.
      0
      1. HACKER 712 Messages postés 1463 Statut Contributeur 255 > fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention  
         
        Ok, mais ou peut on savoir toutes ces précisions ?
        probablement le "man printf" ?

        c un peu compliqué... ce man
        0
      2. fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention   1 847 > HACKER 712 Messages postés 1463 Statut Contributeur
         
        Oui, tout simplement en lisant le man.
        Par exemple, man fopen :
        DESCRIPTION
         ...
               r+     Ouvre le fichier en lecture et écriture. Le pointeur de flux
                      est placé au début du fichier.
        
        0
      3. HACKER 712 Messages postés 1463 Statut Contributeur 255 > fiddy Messages postés 441 Date d'inscription   Statut Contributeur Dernière intervention  
         
        oui, c bien ce que je pensais...
        merci en tout cas.
        0
  2. Steph_45
     
    > je voudrais savoire que faire réellement la fonction fscanf

    Et Google et MSDN, c'est pour les chiens ?!
    Et écrire en français, merci.
    0
  3. HACKER 712 Messages postés 1463 Statut Contributeur 255
     
    pourquoi tu dis ca :

    "> je voudrais savoire que faire réellement la fonction fscanf

    Et Google et MSDN, c'est pour les chiens ?!
    Et écrire en français, merci."

    ??
    -1