Lire dans un fichier en C, SVP

Fermé
al - 12 juin 2004 à 21:22
 al - 13 juin 2004 à 01:20
bonjour tout le monde...
je suis entrain de lire dans un fichier texte les 3 lignes suivants:
135.32.35.9
258
56
mais quand je demande qu'il sauvegarde les 3 valeurs dans un variable chaccuns, il sauvegarde toujours le dernier (le 56). voila mon bout de code :
FILE * fichier;
int n;
char buffer[80], *char1, *char2, *char3;

int lig = 0;
char * tab_ligne[4];
fichier = fopen(tab[1],"r");

while (!feof(fichier)){

fgets(ligne, MAXLINE,fichier);
tab_ligne[lig] = ligne;
printf("\n%s",tab_ligne[lig]);
lig++;
}
printf("\n%s",tab_ligne[0]);
printf("\n%s",tab_ligne[l]);
printf("\n%s",tab_ligne[2]);


Merci d'avance
A voir également:

1 réponse

tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 177
12 juin 2004 à 23:43
salut, parce que tu fais une affectation de pointeurs et donc coe le pointeur est modifié, eh ben tu ne gardes que le dernier. Donc, tu dois faire ceci :
tab_ligne[lig]= malloc (strlen(ligne));
strcpy (tab_ligne[lig],ligne);

tafiscobar "lou waye def bopame"
la nullite n'existe pas, l'ignorance oui, ah je suppose!!!
0
merci bcp mon ami.....je vais essayer ca
0