Lire dans un fichier en C, SVP

al -  
 al -
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 1281 Statut Contributeur 177
 
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
al
 
merci bcp mon ami.....je vais essayer ca
0