Bonjour,
J'apprends le C par moi-même et je me demande s'il est possible (c'est sûrement possible mais je n'arrive pas m'imaginer comment) de créer une fonction qui va lire dans un fichier (soit en argument soit ouvert dans le corps de la fonction), qui mets les mots du fichier dans une chaîne ou un vecteur et le retourne.
En fait je fais un petit programme qui va chercher des mots dans un texte. Pour l'instant je lui passe le ou les mots à rechercher sur la ligne de commande mais j'aimerais pouvoir les stocker dans un fichier et lire le fichier à l'intérieur du programme pour en extraire les mots.
Pour l'instant je suis parvenu à ça mais cette fonction se contente d'imprimer les mots lus à l'écran, hors j'aimerais qu'elle puisse les retourner.
Je sais bien que cette fonction n'est sûrement pas optimale mais pour l'instant je fais avec ce que je connais, je vais de tuto en tuto et je cherche de l'aide sur les forums mais là je bloque.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 int readstr(void) { FILE * flux = fopen("mots_à_chercher", "r") ; if (!flux) return 1 ; int lu, max, x ; char *mots[100] ; for (max = 0 ; lu != EOF ; max++) { char sas[32] ; lu = fscanf(flux, "%s", sas) ; mots[max] = strdup(sas) ; } for (x = 0 ; x < max -1; x++) printf("%s ", mots[x]) ; printf("\nnombres de mots à chercher : %d\n", x) ; fclose(flux) ; return 0 ; }
Est-ce possible de créer un vecteur de caractères, de le passer en argument à la fonction, de le modifier dans la fonction et de le retourner ?
Merci d'avance.
Partager