Lire lignes d'un fichier en code c

Fermé
Aline - 24 nov. 2007 à 02:40
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 24 nov. 2007 à 03:11
Bonjour,
Merci infiniment pour votre aide.
J'ai fais des changements a mon code selon ce que vouz m'avez expliquer. Toutefois, la boucle n'arrete pas lorsque le pointeur est rendu au bout de la 2e ligne. A la sortie du programme, les deux premieres lignes apparraissent, mais une gamme de valeurs apparaissent par apres. Pourquoi la boucle avec le fscanf continue-t-elle apres la fin de la ligne? J'ai pourtant preciser un do while(tbl[ctr-1] != 'n') <-- est-ce bien ce que je dois faire?

Ce que j'essaie de faire, c'est de compter le nombre d'éléments dans la première ligne et le nombre d'éléments dans la deuxième ligne pour ensuite créer une matrice qui a ces dimensions. Je ne veux donc pas lire toutes les lignes du texte en meme temps. (je ne suis pas sure si c'est ce que ton fesait, mais j'ai eu l'impression que oui)

Voici mon nouveau code:
#include <stdio.h>
#include <stdlib.h>


int main()
{
FILE *ptr_fichier;
int tbl[17]={0}, tbl2[21]={0};
int valeur;
int ctr=0;
int nb_rangees=0, nb_colonnes=0;

ptr_fichier=fopen("Refroid.txt", "r");
if (ptr_fichier!=NULL)
{
do
{
fscanf(ptr_fichier, "%d", &tbl[ctr]);
printf("%d\n", tbl[ctr]);
ctr++;
nb_rangees++;
if(tbl[ctr]=='n')
nb_rangees--;
}
while(tbl[ctr-1]!='\n');

ctr=0;
do
{
fscanf(ptr_fichier, "%d", &tbl2[ctr]);
printf("%d\n", tbl2[ctr]);
ctr++;
nb_rangees++;
if(tbl2[ctr]=='n')
nb_colonnes--;
}
while(tbl2[ctr-1]!='n');
}
else{
printf("fichier n'existe pas.");
}

system("PAUSE");
return 0;
}
En référence à cette discussion
A voir également:

1 réponse

mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
24 nov. 2007 à 02:56
je pense que c'est plutot '\n' et pas 'n'
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
24 nov. 2007 à 03:11
pour mype

<hors sujet>
fait un signe à fiddy de regarder ton poste
peut être qu'il a une idée ;-)
</hors sujet>
0