Problème avec fgets
Pica
-
cchristian Messages postés 928 Statut Membre -
cchristian Messages postés 928 Statut Membre -
Bonjour,
J'utilise (j'essaye) la fonction fgets et elle prend deux fois la même ligne?
J'ai essayer de réinitialiser mes tableaux entre chaque fgets mais cela ne marche pas.
Est-ce-que c'est parce qu'il ne manquerai pas un caractère de fin de ligne dans mon fichier source?
Merci pour vos conseils
J'utilise (j'essaye) la fonction fgets et elle prend deux fois la même ligne?
J'ai essayer de réinitialiser mes tableaux entre chaque fgets mais cela ne marche pas.
Est-ce-que c'est parce qu'il ne manquerai pas un caractère de fin de ligne dans mon fichier source?
Merci pour vos conseils
4 réponses
#define LINE_LENGTH 200
FILE *pFileSrc;
char tcLine[LINE_LENGTH];
char tcType[LINE_LENGTH];
char tcType1[LINE_LENGTH];
char tcType2[LINE_LENGTH];
while (fgets (tcLine, LINE_LENGTH-1, pFileSrc) != NULL)
{
/* Scan de la ligne */
sscanf (tcLine, "%s%s%s", tcType,tcType1,tcType2);
Pourtant le fichier est bien balayé en entier.
FILE *pFileSrc;
char tcLine[LINE_LENGTH];
char tcType[LINE_LENGTH];
char tcType1[LINE_LENGTH];
char tcType2[LINE_LENGTH];
while (fgets (tcLine, LINE_LENGTH-1, pFileSrc) != NULL)
{
/* Scan de la ligne */
sscanf (tcLine, "%s%s%s", tcType,tcType1,tcType2);
Pourtant le fichier est bien balayé en entier.
Déjà, tu peux mettre fgets (tcLine, LINE_LENGTH,..) pas besoin du -1.
Sinon, comment est structuré ton fichier ?
Sinon, comment est structuré ton fichier ?
Bonsoir,
Je ne comprends pas très bien le problème posé, j'ai testé chez moi et je n'ai vu aucune ligne en double.
Par contre comme tu le mentionnes pense à ré-initialiser tes tableaux.
Ne serait-ce pas cela qui t'a induit en erreur en contrôle visuel des résultats ? Suivant la structure
de chaque enregistrement les tableaux reproduisent les valeurs précédentes (derniere
affectation d'une valeur pars scanf) dans le cas où ils ne sont pas renseignés lors du traitement de
l'enregistrement en cours.
Si j'ai bien compris le problème !
Cordialement.
Cchristian.
Je ne comprends pas très bien le problème posé, j'ai testé chez moi et je n'ai vu aucune ligne en double.
Par contre comme tu le mentionnes pense à ré-initialiser tes tableaux.
Ne serait-ce pas cela qui t'a induit en erreur en contrôle visuel des résultats ? Suivant la structure
de chaque enregistrement les tableaux reproduisent les valeurs précédentes (derniere
affectation d'une valeur pars scanf) dans le cas où ils ne sont pas renseignés lors du traitement de
l'enregistrement en cours.
Si j'ai bien compris le problème !
Cordialement.
Cchristian.