A voir également:
- Lecture fichier C++
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier host - Guide
- Ouvrir fichier .bin - Guide
4 réponses
blurk
Messages postés
486
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
15 mars 2009
160
22 nov. 2004 à 18:52
22 nov. 2004 à 18:52
salut!
-chaque fgets suivant lira la ligne suivante jusqu'au retour chariot
-on peut utiliser aussi fscanf, mais c'est plus lourd
- fgets ne supprime pas le retour à la ligne en fin de chaine
et voilà
a+
¤
#include <stdio.h> #define LONGUEUR 255 // à modifier de façon à dépasser la longueur prevue int main(void) { FILE *safe; char machaine[LONGUEUR]; safe=fopen("nomdufichier.txt","r"); fgets(safe,LONGUEUR,machaine); printf("%s",machaine); fclose(safe); }
-chaque fgets suivant lira la ligne suivante jusqu'au retour chariot
-on peut utiliser aussi fscanf, mais c'est plus lourd
- fgets ne supprime pas le retour à la ligne en fin de chaine
et voilà
a+
¤
oui mais là je suis obligé de lire ligne par ligne
mon fichier peut faire 10 000 000 de lignes au maximum
ça va etre long
mon fichier peut faire 10 000 000 de lignes au maximum
ça va etre long
blurk
Messages postés
486
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
15 mars 2009
160
23 nov. 2004 à 11:42
23 nov. 2004 à 11:42
tu peux aussi lire caractère par caractère, mais c'est encore plus long.
La troisième solution, c'est fread / fwrite, qui nécessite de connaitre à l'avance la taille de ce que tu vas lire, et l'utilisation de structures.
si les lignes font toutes exactement le même nombre d'octets c'est possible, sinon walou.
un truc aussi, ce qui est long, c'est surtout le fichier,
et le traitement si il est mal optimisé.
Croire qu'on va lire 10 milions de lignes autrement que ligne par ligne
et pouvoir les discerner l'une de l'autre est une contradiction.
comment compter les lignes et détecter fin de fichier sans lire de ligne ?
¤
La troisième solution, c'est fread / fwrite, qui nécessite de connaitre à l'avance la taille de ce que tu vas lire, et l'utilisation de structures.
si les lignes font toutes exactement le même nombre d'octets c'est possible, sinon walou.
un truc aussi, ce qui est long, c'est surtout le fichier,
et le traitement si il est mal optimisé.
Croire qu'on va lire 10 milions de lignes autrement que ligne par ligne
et pouvoir les discerner l'une de l'autre est une contradiction.
comment compter les lignes et détecter fin de fichier sans lire de ligne ?
¤