- Connaitre la longueur d'une ligne lue dans un fichier ? [ C ] - C - Programmation
Marsh Posté le 19-04-2004 à 11:48:25
Euh strlen permet de déterminer la longueur d'une string, mais c'est pas ça que je veux ! J'ai besoin de connaitre d'avance la longueur de la string qui va contenir la ligne d'un fichier
Marsh Posté le 19-04-2004 à 11:51:37
Si tu te relis tu verras que ce n'est pas possible. Le langage C n'est pas encore doté de dons de voyance ...
Le moyen que j'utilisais ( pas codé en C depuis un bout de temps ) c'est de prendre un buffer de taille suffisante.
Pierre
Marsh Posté le 19-04-2004 à 12:30:23
Osama a écrit : Euh strlen permet de déterminer la longueur d'une string, mais c'est pas ça que je veux ! J'ai besoin de connaitre d'avance la longueur de la string qui va contenir la ligne d'un fichier |
il n'y a pas de string en C
Marsh Posté le 19-04-2004 à 12:31:55
tu peux spécifier le nombre de caractère que tu veux prendre. fais-le pour éviter tout problème
Marsh Posté le 19-04-2004 à 12:47:15
Il suffit de spécifier à fgets une taille assez grande (par exemple 4000) et après chaque lecture pour vérifier que tu as bien lu toute la ligne en une seule fois il suffit de vérifier que le dernier caractère est bien un retour chariot (sauf si c'est pas la dernière ligne).
Marsh Posté le 19-04-2004 à 13:37:11
darkoli a écrit : Il suffit de spécifier à fgets une taille assez grande (par exemple 4000) et après chaque lecture pour vérifier que tu as bien lu toute la ligne en une seule fois il suffit de vérifier que le dernier caractère est bien un retour chariot (sauf si c'est pas la dernière ligne). |
il suffit d'utiliser getline si ton système la fournit ou de la coder rapidement vu que j'ai déjà donné plusieurs fois son code ici
Marsh Posté le 19-04-2004 à 11:38:20
J'ai un fichier de données que je veux lire ligne par ligne, ces lignes étant de longueurs variables. Dans toutes les fonctions que j'ai trouvées (fgets, fscanf, getline) il faut fournir la taille de la string qui va contenir la ligne. Comment déterminer la taille de chaque ligne à indiquer à ces fonctions ??