Hello les gens =)
J'ai essayé de commencer un morceau de code pour lire un fichier INI, jusque là rien de très alarmant, seulement ce morceau de code demande trois pointeurs de tableaux en argument, et là c'est le drame.

Basiquement j'appelle mon code avec les arguments suivants :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ini_parseinstruct(&cfg_var, &varname, &varvalue);
sachant que la fonction pour parser est la suivante :
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
int ini_parseinstruct(char* pinstruction[], char* pval_name[], char* pval_value[])
{
    int i, j;
 
    for (i=0, j=0 ; *pinstruction[i] != '=' ; i++, j++)
    {
        *pval_name[j] = *pinstruction[i];
    }//endfor
 
 
    if (*pinstruction[i] == '=')
    {
        pval_name[j] = '\0';
        i++;
    }
    else
    {
        //PARSING ERROR
    }//endif
 
 
    for (int j=0 ; *pinstruction[i] != '\0' ; i++, j++)
    {
        *pval_value[j] = *pinstruction[i];
    }//endif
    *pval_value[j] = '\0';
 
    return (1);
}
Etrangement GCC ne m'a rien dit sur ma fonction, j'en ai déduit qu'elle était bonne, après si le traitement des tableaux en les passant en arguments en tant que pointeurs est un art autrement plus complexe j'aimerais savoir où est mon erreur.

Le problème, concrètement, est que je ne peux pas "convert 'char (*)[30]' to 'char**", ce qui est étrange vu qu'il me semble qu'un char *[] équivaut à un char **.