[C] Stocker contenu d'un fichier !

Alexx -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
Actuellement, j'arrive à bien lire dans un fichier, et en fait je les affiche... Avec quelque chose de la forme :

while (!feof(fichier)){
fread(&Buffer,1,1,fichier);
printf("%c", Buffer);
}

Le problème, c'est que ca ne fait que m'AFFICHER ce qu'il y a dans le buffer! Alors j'ai voulu faire dans la boucle un char *Buffer2 = Buffer2+Buffer, mais ca marche pas ( normal!).

Comment faire? Merci d'avance!
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Oulala et pourquoi tu t'embêtes avec fread alors qu'il y a des fonctions vachement bien pour lire ligne par ligne ?
    https://linux.die.net/man/3/getline
    http://c.developpez.com/faq/cpp/?page=fichiers#FICHIERS_lecture_par_ligne

    Et d'ailleurs pourquoi ne pas interpréter les lignes au fur et à mesure (évidemment ça dépend de ce que tu veux faire mais je trouve un peu violent de lire un fichier pour le mettre en mémoire tel quel) ? En fait que veux tu faire ?

    Bonne chance
    0
  2. ekra Messages postés 1873 Statut Membre 342
     
    Bonjour,

    Tu peux utiliser :
    fscanf()
    fprintf()
    fgets();
    C'est plus pratique :)

    fread() et fwrite() sont réservé pour le binaire ! enfin après on fait ce que l'on veut ! (c'est bien ça :p )

    http://c.developpez.com/faq/cpp/?page=fichiers#FICHIERS_lecture_par_ligne
    Attention c'est du cpp !
    0
  3. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 944
     
    Oui j'ai vu que c'était du c++ (en fait j'ai mis la version c++ et la version c).
    0