Bonjour,
Je pense que tout d'abord, dans ton fichier il faut que toutes les chaines aient la même longueur allouée. On supposera que c'est MAX_CHAINE. Sinon il faut déplacer toute la suite des nom, c'est plutôt ingérable...
char chaine[MAX_CHAINE];
FILE* fp=fopen("test.txt" , "rt");
void *ret;
while ((ret = fgets(chaine , MAX_CHAINE , fp)) != NULL && strcmp(chaine , "toto") ) ;
if (ret == NULL) {
/* Nom non trouvé */
}
else {
/* Nom trouvé */
fseek(fp, - sizeof(char)*MAX_CHAINE , SEEK_CUR); /* On se replace au debut de la chaine trouvée */
fprintf(fp , "nouveau_nom");
}
Je n'ai pas testé, mais ça peut peut-être t'aider.
Ceci est une signature.