Les procédures en langage c

Bonjour,
slt
je veux une seule procédure que je peux l'appeller chaque fois que je veux
par exemple ,voici ces deux procédures:

void ajouterTabFichier()
{fiche=fopen(file,"ab+");
fwrite(ts,sizeof(struct stagiaire),N,fiche);
fclose(fiche);
}

void modifierFichier()
{fiche=fopen(file,"wb+");
fwrite(ts,sizeof(struct stagiaire),N,fiche);
fclose(fiche);
}

comment les regrouper dans une seule procédure en prenant en considération le mode d'accés?
Configuration: Windows XP
Internet Explorer 6.0

5 réponses

  1. Bonsoir

    void ajout_modifFichier ( char (*mod_acces) )
    {fiche=fopen(file,mod_acces);
    fwrite(ts,sizeof(struct stagiaire),N,fiche);
    fclose(fiche);
    }

    Si c'est possible donne un nom à la proc. et passe le mode d'accès en paramètre (variable contenant soit ab+ soit wb+)
    (je n'ai pas la possibilité de faire un test pour le moment.......)

    char mod_acces [16] = "";
    strcpy (mod_acces, 512, "ab+"); // ou "wb+"
    appel de la proc ajout_modifFichier ( mod_acces ) avec le paramètre mod_acces préalablement renseigné.
    1. merci Cchristian pour ton aide.
      mais j'ai une question,qu'est-ce que ça signifie (512)?
      et merci encore.
      1. Bonsoir Orchidée,

        512 est la taille attribuée au buffer (mémoire temporaire Size of the destination string buffer.) alloué à l'opération de copie. Mais dans le cas présent c'est inutile, cela est nécessaire uniquement avec la nouvelle version sécurisée strcpy_s :

        Extrait de l'aide en ligne : Documentation Microsoft Visual Studio 2005 Express.
        strcpy_s, wcscpy_s, _mbscpy_s :Copy a string. These are versions of strcpy, wcscpy, _mbscpy with security enhancements as described in Security Enhancements in the CRT.

        1. Bonsoir Orchidée,

          Merci pour tes remerciements, Bon courage,