Bonjour,
je voulais savoir si il était possible de lire mot par mot un fichier en C ?
Et si il était possible de concaténer le caractère lu par fgetc avec une chaine de caractère car le problème que je rencontre est que fgetc lit un entier.
merci
char* fgets(char* chaine, int nombreDeCaracteresALire, FILE* pointeurSurFichier);
marin.benjamin a écrit:Oui mais moi je veux lire mot par mot ou alors concaténer le caractère lu avec une chaine jusqu'à que l'on rencontre un espace
char * lire-mot(FILE * fic)
{
char * chaine, c;
while (1) {
c=fgetc(fic);
if (c==" ") return chaine; // espace, ça retourne le mot
chaine = strcat(chaine,c); // concatenation de la chaine et du caractère
}
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAXN 10
#define MAXC 100
typedef char t_nom_fichiers[MAXN];
typedef char t_chaines[MAXC];
// a={1,2,3}
//élément à rechercher : 2
int rech_fichier(t_nom_fichiers nom1){
FILE *buff1;
buff1=fopen(nom1,"r");
t_chaines n1,n2="2"; //on recherche l'élément "2" du fichier;
int trouve=0;
while(1){
fscanf(buff1,"%s \n",n1);
if (strcmp(n1,n2) == 0) {
printf("L'élément recherché a été trouvé !\n");
trouve = 1;
break;
}
if (feof(buff1) && trouve==0){
printf("L'élément recherché n'a pas été trouvé...\n");
break;
}
}
return trouve;
}
int main (void){
rech_fichier("ega1.txt");
return 0;
}
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 14 invités
.: Nous contacter :: Flux RSS :: Données personnelles :. |