Lecture fichier C++
flo
-
flo -
flo -
bonjour,
je voudrais savoir comment faire pour lire un fichier ligne par ligne
par exemple je demande a mon prog de lire la 3eme ligne
il doit me retourner tou ce qu'il y a écrit a cette ligne
mon probleme est que je n'arrive pas a me positionner par ligne mes seulement par caractere. hors mes lignes ont des nombres de caracteres differents
je voudrais savoir comment faire pour lire un fichier ligne par ligne
par exemple je demande a mon prog de lire la 3eme ligne
il doit me retourner tou ce qu'il y a écrit a cette ligne
mon probleme est que je n'arrive pas a me positionner par ligne mes seulement par caractere. hors mes lignes ont des nombres de caracteres differents
A voir également:
- Lecture fichier C++
- Fichier bin - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Fichier .dat - Guide
4 réponses
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
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 ?
¤