Bonjour, désolé si mon problème vous semblera d'une simplicité extrême a résoudre mais malgré des heures de recherches sur google, aucune réponse n'a pu me sortir de mon problème.
Alors voilà, dans le cadre d'un gros programme (3000 lignes actuellement dans 8 fichiers et c'est loin d'être fini) j'ai une quarantaine de variable à extraire de fichiers, jusque là, ça va, fopen fonctionne mais pour l'injecter dans des char, j'ai au début créé 40 variable sauf que ça me semblait illisible et un cauchemars algorithmique. J'ai donc voulu créer un tableau de char 2D me permettant de regrouper toute ces variables en un seul tableau et ainsi me simplifier la vie lors du traitement de ces donnés. Le problème est que j'obtenais des erreurs lorsque, dans le fopen, j'indiquais la ligne ou il devais écrire dans le tableau (le compilateur voulais que je lui remplisse les deux champ entre crochet alors que je ne voulais lui donner que la ligne d'écriture ->
Ce problème m'emmerdant, j'ai fini par choisir de créer un tableau de pointeur de type char emmenant aux 40 variables. Là aussi les problèmes s’abattent:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 char nomArme[20][10] fscanf(arme, "%d %s %s %s %s %s %s %s %s %s %s\n", &debutLigneArme, nomArme[][0], nomArme[][1], nomArme[][2], nomArme[][3], nomArme[][4], nomArme[][5], nomArme[][6], nomArme[][7], nomArme[][8], nomArme[][9]);
Si vous voyez tout de suite un erreur, merci de me le signaler, si vous avez besoin de plus de code, pas de problème...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 fsanf: fscanf(arme, "%d %s %s %s %s %s %s %s %s %s %s\n", &debutLigneArme, *nomArme[0], *nomArme[1], *nomArme[2], *nomArme[3], *nomArme[4], *nomArme[5], *nomArme[6], *nomArme[7], *nomArme[8], *nomArme[9]); Injection dans le tableau des char: *nomArme[0] = arme1; *nomArme[1] = arme2; *nomArme[2] = arme3; *nomArme[3] = arme4; *nomArme[4] = arme5; *nomArme[5] = arme6; *nomArme[6] = arme7; *nomArme[7] = arme8; *nomArme[8] = arme9; *nomArme[9] = arme10;
Merci d'avance de m'aider car mon projet est bloqué tant que ce bug n'est pas résolu (intestable car le code s’exécute très tôt)...
Partager