Bonjour, j'essaie de créer une fonction qui doit lire une ligne entière d'un fichier texte (donc jusqu'au '\n' mais ça ne marche pas. (C'est la même que scanf en gros, avec le %[^\n]) Voici son interface : type : (FILE* x int)-> char* arguments : le fichier 'fich' qu'on lit, la ligne que l'on souhaite récupérer 'n'. retourne : la ligne n du fichier 'fich' sous forme de chaîne de caractère. J'ai codé le truc ci dessous, mais, étrangement, quand j'appelle ma fonction, je suis obligé de faire un 'printf' entre chacun de ses appels... ? Si quelqu'un a une idée ca me permettrais de cmprendre un peu mieux, merci ! [code] char* get_ligne(FILE * fich, int n) { int i = 0, c, j=0; char*s; if (fich == NULL) { fprintf(stderr, "Erreur de lecture du fichier.\n"); exit(1); } c=fgetc(fich); do{ if (c=='\n') { i++; } if (i==n) { while((c=fgetc(fich))!='\n') { s[j]=(char) c; j++; } s[j]='\0'; fseek(fich,0, SEEK_SET); return s; } }while((c=fgetc(fich))!=EOF); fseek(fich,0, SEEK_SET); return s; } [/code]