• # ma solution

    Posté par . En réponse au message Chaine de caractère. Évalué à 1.

    Me faisais chier et j'trouvais ça marrant ... dslé ...
    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
    int main(int ac, char **av)
    {
     char buf[BUFSIZ];
     FILE *f_in;
     FILE *f_out[100];
     int cpt=0, i;
     char *file, char_cpt[32];
     f_in = fopen("in", "r");
     file = strdup("out1");
     f_out[cpt] = fopen(file, "w+");
     while((fscanf(f_in, "%s", &buf)) != EOF)
     {
     fprintf(f_out[cpt], "%s", buf);
     fputc('\n', f_out[cpt]);
     if(strncmp(buf, "FIN", 3) == 0)
     {
     free(file);
     cpt++;
     file = malloc(sizeof(char) * strlen("out") + cpt);
     strcpy(file, "out");
     snprintf(char_cpt, 32, "%d", cpt + 1);
     strcat(file, char_cpt);
     f_out[cpt] = fopen(file, "w+");
     }
     }
     for(i=0;i<cpt;i++)
     fclose(f_out[i]);
     free(file);
     fclose(f_in);
     return 0;
    }
    
    Ya surement moyen de faire mieux et plus commenté, mais ça a le merite de marcher ... toutes suggestions sont bienvenues