Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionnouv = (liste_f) malloc(sizeof(liste_f));
nouv->fait = p;
if (tete == NULL)
return tete;
void *ins_fin_f(liste_f tete,char * p) { liste_f ptr = tete; liste_f nouv; nouv = (liste_f) malloc(sizeof(liste_f)); if (nouv != NULL) { nouv->fait = (char*)malloc(strlen(p)); strcpy(nouv->fait, p); nouv->suiv= NULL; if (tete == NULL) tete = nouv; else { while (ptr->suiv != NULL) { ptr = ptr->suiv; } ptr->suiv = nouv; } } else printf("erreur"); return tete; }
#include <stdio.h> struct element1{ char * fait; struct element1 *suiv; }; typedef struct element1 *liste_f; void *ins_fin_f(liste_f tete,char * p) { liste_f ptr = tete; liste_f nouv; nouv = (liste_f) malloc(sizeof(struct element1)); if (nouv != NULL) { nouv->fait = (char*)malloc(strlen(p)+1); strcpy(nouv->fait, p); nouv->suiv= NULL; if (tete == NULL) tete = nouv; else { while (ptr->suiv != NULL) { ptr = ptr->suiv; } ptr->suiv = nouv; } } else printf("erreur"); return tete; } void *extraire_f(FILE * f, char * chaine){ char buffer[BUFSIZ]; char *result = NULL; int rang = 0; char * pf; liste_f tete = NULL; do{ fflush(0); fseek(f,(rang-1)*sizeof(char *),SEEK_SET); fgets(buffer,sizeof(buffer),f); result=memchr(buffer,' ',strlen(buffer)); pf = result; tete = ins_fin_f(tete, pf); printf("le fait est : %s\n",pf); }while((strcspn(buffer,chaine) != 0) && (!feof(f))); return tete; } int main() { FILE* f=fopen("test.txt","r"); extraire_f(f,"121345"); return 0; }
coucou hello waza hi5