[C] Stocker contenu d'un fichier !

Fermé
Signaler
-
Messages postés
30370
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
1 décembre 2021
-
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!

3 réponses

Messages postés
30370
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
1 décembre 2021
7 237
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
Messages postés
1867
Date d'inscription
vendredi 15 avril 2005
Statut
Membre
Dernière intervention
24 juillet 2014
341
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 !
Messages postés
30370
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
1 décembre 2021
7 237
Oui j'ai vu que c'était du c++ (en fait j'ai mis la version c++ et la version c).