salut a tous,

Voici le code de deux fonctions, toutes simples :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/test/src> more parser.c
#include "biblio.h"

void* parser(void *p)
{
        int i;
        printf("debut du parsing des fichiers GRE et FNR...\n");
        int lignedebut = 1;
        int lignefin = 5;
        char * entreeformatee;
        char ** donnees;

        donnees = lireligne("test.csv", lignedebut, lignefin);

        for (i = 0; i < (lignefin - lignedebut); i++)
        {
printf("\n%s\n", donnees[i]);
                entreeformatee = formaterentree(donnees[i]);
printf("\n%s\n",entreeformatee);
                ajouterentree(CHEMINFIC_DONNEES_COMP, entreeformatee);
        }
        (void)p;
        return NULL;
}


/test/src> more ajouterentree.c
#include "biblio.h"

void ajouterentree(char * cheminfichier, char * nouvellentree)
{

        printf("%s\n", nouvellentree);
        FILE * fichier;
        if ((fichier = fopen(cheminfichier, "a"))!=NULL)
        {
                fprintf(fichier, "%s\n", nouvellentree);
                fclose(fichier);
        }



}
j'ai mis deux lignes en rouge.
le résultat de cette première ligne est toto, par exemple. ou un truc beaucoup plus long. peu importe.
le résultat de la deuxième ligne est "", soit rien.



Pourquoi?