[C] Fichier .dat et .txt

Nescence -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
je réalise une petite apllication en c, manipulant des fichiers et je souhaiterais vous poser quelque questions.

Dans un premier temps qelle différence y a t'il entre un fichier .txt et un fichier .dat?

Ensuite quelle difference y a t'il entre ouvrir un fichier de facon normale et ouvrir un fichier en mode binaire?

Merci d'avance :)

1 réponse

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Dans un premier temps qelle différence y a t'il entre un fichier .txt et un fichier .dat?

    Aucune ce sont a priori deux fichiers avec du texte dedans. Tu peux y mettre ce qui te chante, un programme C n'accorde aucune attention à l'extension. Une extension est juste utilisé par l'OS (linux, windows...) pour savoir quel programme il faut utiliser pour l'ouvrir.

    Ensuite quelle difference y a t'il entre ouvrir un fichier de facon normale et ouvrir un fichier en mode binaire?

    En fait c'est plus la manière de le lire que de l'ouvrir qui joue pour ça. L'ouverture définie juste si tu ouvre le fichier en lecture (r), écriture (w), ou en append (a). La fermeture est toujours faite par fclose() :
    http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/fopen.3.html
    http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/fclose.3.html

    Tout fichier peut se lire avec fread (et s'écrire avec fwrite) de manière "binaire"
    http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/fread.3.html
    http://pwet.fr/man/linux/fonctions_bibliotheques/fwrite/

    Ensuite pour lire un fichier "texte" certaines fonction sont plus pratiques que fread/fwrite, notamment fscanf et fprintf
    http://www.linux-france.org/article/man-fr/man3/scanf-3.html
    http://www.linux-france.org/article/man-fr/man3/printf-3.html

    Pour toute info sur une focntion C, tape dans une console linux ou dans google man suivi du nom de la fonction. Ex :
    man fprintf

    Bonne chance
    0