problème de lecture de fichier texte - C - Programmation
Marsh Posté le 11-06-2004 à 12:37:26
Code :
|
je pense a un truc comme ça.
Essaye si ça marche.
A+
Marsh Posté le 11-06-2004 à 13:27:35
Bombyce non, tu as tort, tu ferais bien de regarder comment il fait, c'est la bonne méthode
Marsh Posté le 11-06-2004 à 13:34:00
Pourquoi ça n'est pas bon ?
Je parcours jusqu'a la fin du fichier en changeant de lignes a chaques fois.Sauf lors du premier traitement car avec un do{...} while ,le code est parcouru au moins une fois. comprend pas ou je merde.
Besoin de tes lumieres!
A+
Marsh Posté le 11-06-2004 à 13:46:17
tiens je viens d'essayer le fcloseall() et j'obtiens une erreur : [Linker error] undefined reference to 'fcloseall'.
fcloseall se situe bien dans stdio.h ?
Marsh Posté le 11-06-2004 à 13:50:37
oui , j'ai verifie sur un bouquin et c'est bien dans stdio.h
Marsh Posté le 11-06-2004 à 13:57:04
ben soit tu sais pas lire, soit ton bouquin est pourri : fcloseall est pas standard et spécifique à certains environnements. par exemple, certains envionnement on décrété que fclose(NULL° fermait tout...
Marsh Posté le 11-06-2004 à 14:02:24
du calme, ça fait 3 semaines que je fais du C...je sais presque rien de ce langage; et c'est un livre que l on m'a prete. JE SAIS POURTANT LIRE et c'est ce qu il y a de marque (C'est un aide memoire de C qui date de 1996, edition MARABOUT INFORMATIQUE).
Marsh Posté le 11-06-2004 à 14:04:37
Bombyce a écrit : du calme, ça fait 3 semaines que je fais du C...je sais presque rien de ce langage; et c'est un livre que l on m'a prete. JE SAIS POURTANT LIRE et c'est ce qu il y a de marque (C'est un aide memoire de C qui date de 1996, edition MARABOUT INFORMATIQUE). |
Hors du K&R point de salut pauvre mortel
Marsh Posté le 11-06-2004 à 14:08:52
En effet je viens de parcourir le net à la recherche d'info sur ce "Error link" (qui a l'air spécifique à Dev-cpp) ... Bon si quelqu'un connait le standard pour ce compilateur je prends sinon je reste avec mes deux fclose ...
edit : et encore une fois merci à Taz, le vainqueur était fclose(NULL)
Marsh Posté le 11-06-2004 à 14:09:56
gcc 3.3.xxx, norme ANSI, voire C99 smieux
trouve toi un Kernigham & Ritchie a la FNAC et zou
Marsh Posté le 11-06-2004 à 14:11:36
mirascheat a écrit : En effet je viens de parcourir le net à la recherche d'info sur ce "Error link" (qui a l'air spécifique à Dev-cpp) ... Bon si quelqu'un connait le standard pour ce compilateur je prends sinon je reste avec mes deux fclose ... |
fais avec, c'est la seule bonne solution
Marsh Posté le 11-06-2004 à 14:26:48
Taz a écrit : fais avec, c'est la seule bonne solution |
je parlais pas du fclose(NULL) qui est pas standard : tu vas changer ton programme d'environnement et il marchera pas. franchement je suis sur que tu codes avec les pieds, c'est pas une ligne en plus qui va pourrir ton programme
Marsh Posté le 11-06-2004 à 14:28:27
bon on fait j'ai une erreur qui fait planter mon soft ... je pensais que c'etait parce que mon fichier était trop gros (cf mon 1er post) mais bon ca ne semble pas être ca, donc je poste mon bout de code ici (l'erreur doit venir au niveau de element parce que c'est depuis que j'ai implémenté cette variable que j'ai des pbs) :
Code :
|
Marsh Posté le 11-06-2004 à 14:30:16
Taz a écrit : je parlais pas du fclose(NULL) qui est pas standard : tu vas changer ton programme d'environnement et il marchera pas. franchement je suis sur que tu codes avec les pieds, c'est pas une ligne en plus qui va pourrir ton programme |
non mais on va dire que c'est pour ma culture ... et c'est un soft que je vais être le seul à utiliser donc la portabilité je m'en fous un peu :-)
Marsh Posté le 11-06-2004 à 16:47:33
il faut mettre "\n" alors ? c'est juste pour détecter la fin de la ligne ...
par ailleurs j'ai posté un code incomplet tout à l'heure, le voici now :
Code :
|
je pense que l'erreur se situe au niveau du :
if(strstr(element, item) != NULL){
mais c'est juste un presentiment
Marsh Posté le 11-06-2004 à 17:46:55
de toute facon mon problème ne vient pas de là j'en suis sur (je viens de tester ) ...
Marsh Posté le 14-06-2004 à 10:05:44
j'ai voulu simplement faire :
toto = strstr(element, item);
pour voir la valeur que me renvoyé la comparaison et bein ca plante aussi ...
Marsh Posté le 15-06-2004 à 11:54:00
Code :
|
Je charge une ligne de mon ficher dans stringbuf mais je ne la décharge jamais ... est-ce normal ?
Parce qu'en voyant le résultat j'ai l'impression qu'il y a un buffer qui se charge qui se charge et au bout d'un moment ca fait planter mon programme!!!
sinon il est possible de remettre à 0 des char* ?
merci pour votre aide
Marsh Posté le 15-06-2004 à 12:25:34
déjà c'est pas un char*
après fgets stocke dans ton buffer à partir du premier char, donc ça écrase tout contenu précédent et ça rajoute un '\0' final
donc c'est toi qui déconne
Marsh Posté le 15-06-2004 à 12:33:12
le char* c'était une autre question ... je demandais juste comment vider un char*
En ce qui concerne fgets : si la longueur de ma ligne n-1 est plus grande que ma ligne n, le buffer contient-t-il des résidus de la ligne n-1 au nème passage ?
Marsh Posté le 15-06-2004 à 12:35:01
peut être que tu as pas compris comment fonctionnait les chaines en C ?
si fgets arrive pas à lire une ligne en entier , le reste, tu le récupère au passage suivant
Marsh Posté le 15-06-2004 à 12:51:53
mirascheat a écrit : le char* c'était une autre question ... je demandais juste comment vider un char* |
oui
Marsh Posté le 16-06-2004 à 10:25:46
Bon pour le fait que je pensais qu'il y avait un dépassement de mémoire quelque part j'ai mis des malloc et des free pour voir si ca changeait quelque chose (quoique je ne suis pas sur de bien me servir de ces deux instructions), mais ca ne marche toujours pas ...
Je poste mon code complet :
Code :
|
si quelqu'un pouvait m'aider merci
Marsh Posté le 16-06-2004 à 11:11:22
if(valuee == "N/A" )
tu m'appelles le jour ou ça marche ça
Marsh Posté le 16-06-2004 à 11:33:44
dring !!!
ca ne marche pas !!!
d'accord mais ce n'est pas cette faute de débutant de merde qui fait que mon programme ne marche pas ...
Marsh Posté le 11-06-2004 à 12:25:49
Bonjour,
J'ai un fichier texte que je lis ligne par ligne à l'aide de fgets. A chaque ligne j'écris "toto" dans un autre fichier. Le problème est qu'une fois le fichier parcouru en entier mon programme semble recommencer à zero et cela indéfiniment, donc j'ai du "toto" à gogo
Message édité par mirascheat le 11-06-2004 à 12:26:20