Bonjour, j'ai une fonction qui lit des nombres qui sont dans un fichier texte, puis elle calcule tous plein de choses.
Pour lire mes données, je me suis inspiré de : http://emmanuel-delahaye.developpez....s.htm#fichiers

Je vous poste une partie de ma fonction et ensuite je vous pose ma question

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 
1) tout d'abord je fais mon fopen en vérifiant que mon fichier existe
2) je crée un tableau de char destiné à recevoir la ligne lue par fgets
char line[500];
3) je parcours mon fichier jusqu'à la fin et je fais mes calculs
while( (!feof(file)) & (fgets (line, sizeof line, file) != NULL) )
    {
	char *p = strchr(line, '\n'); /* on cherche le caractere '\n' */
 
	if(p==NULL) /* le caractere '\n' n'a pas ete trouve donc arret du programme */
	{
	    fprintf(stderr,"Error in file %s line %d in function %s : tabular line is too short. Increase size of tabular line.\nExit program\n",__FILE__,__LINE__,__FUNCTION__);
	    exit(1);
	}
 
	if (p != NULL) /* le caractere '\n' a ete trouve */
	    *p = 0;
 
blabla
} /* fin du while
Donc pour l'instant, si mon tableau char est trop court, le prgm s'arrête et ensuite l'utilisateur doit augmenter la taille de line et il relance le prgm.

J'aimerais faire une boucle while qui fait que si le caractère '\n' n'a pas été trouvé alors la taille du tableau line est augmentée de 50 par exemple.

Lorsque je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
char line[500];
line[550];
mon compilo me dit que la ligne line[550] n'a pas été prise en compte.

Avez-vous une idée pour m'aider s'il vous plait ?

Merci