Pour répondre à ta question, on va être dans { {0,13}} C'est à dire à la treizième case du tableau 2 contenu dans la case 0 du tableau 1.
(case 0 (case 1) (case 2) (case 3) (case 4) (case 6) (case 7) (case (case 9) (case 10) (case 11) (case 12) (case 13 = A))
A condition de pas avoir déclarer tbl[0][12] et de cherché à remplir la treizième. Ceci dit un tableau de type
[13] reviendrais à faire un tableau type [13]. Enfin pour moi !
Je redonne ici la déclaration des tableaux :
#define KEYNAME_LEN 12
#define NBKEYS 5
char MesClefs[NBKEYS][KEYNAME_LEN+1]; // == MesClefs[5][13]
Le premier indice pour la dimension [5] peut aller de 0 à 4
Le 2nd indice pour la dimension [13] peut aller de 0 à 12
Dont MesClefs[0][13] cherche la 14eme case du tableau MesClefs[0]
Où est cette 14eme case ?
char tblConfMdle[10]; // Contiendra 10 commandes pleines (nom/true/false/autre info alphanumérique)
Je ne sais aps ce qu'est une commande
Ton tableau contient 10 caractères
C'est à dire la place pour une chaine de 9 caractères + le '\0' final
//recopie dans le tableau
strncpy(tblConfMdle, bufferConf, SIZE_CONF);
/* Ici on charge normalement dans un tableau de 10 case les 32 cases en une (je dit, et je pense que je commais là une erreur). Donc on devrais surement dépassé la taille de 10. Si c'est le cas, une boucle devrais pouvoir résoudre en lisant le premier tableau, placer dans une variable de type char (exemple : char completionBuffer;) et ensuite placer ça dans le tableau qui devrais se charger automatiquement. */
bufferConf[SIZE_BUFFER] = '\0';
Tu cherche à recopier 1 chaine de caractères pouvant faire jusqu'à 32 caractères (+ le '\0') dans un tableau de 10 caractères.
Le tout au sein d'une boucle.
Y'a pas un problème là ?
Tu est sur que ton tableau final ne devrait pas être un tableau à 2 dimensions ?
#define SIZE_BUFFER 32; //Pour un buffer de 32 caractères
#define SIZE_CONF 10 //Pour 10 commandes de configuration
char tblConfMdle[10][SIZE_BUFFER+1]; // Contiendra 10 commandes pleines (nom/true/false/autre info alphanumérique)
Soit 10 commandes, chaque commande pouvait faire jusqu'à 32 caractères ?
Ce qui ammène au pseudo code suivant :
void fTest() {
char bufferConf[SIZE_BUFFER+1]; //Effectuer un buffer de 32 caractères
int indexCommande = 0;
//Charger ligne par ligne
while(condition) {
//Charger le buffer caractère par caractères
while(condition) {
bufferConf.read();
}
//recopie dans le tableau
strncpy(tblConfMdle[indexCommande], bufferConf, SIZE_BUFFER);
bufferConf[SIZE_BUFFER] = '\0';
// et d'une commande, on passe à la suivante
++indexCommande;
}
}