Lecture de fichier et stockage de valeur
Bonjour j'ai un soucis avec mon programmes, je suis entrain de m'entraîner mais je bloque.
J'ai voulus faire un header avec mes variables que voici :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
#include <stdio.h>
#define TAILLE_MAX 100
typedef struct Armes_de_contact Armes_de_contact;
struct Armes_de_contact
{
char Nom[TAILLE_MAX];
char DM[7];
char Prix[5];
int bool_attributs;
char attribut1[TAILLE_MAX];
};
Armes_de_contact *tab_armes_de_contact[15]; |
Voici le code que j'essaye, je souhaite récupérer caractère par caractère pour ensuite mettre des choses derrières a récupérer plutard.
Code:
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
| #include <stdio.h>
#include <string.h>
#include "Variables.h"
#define TAILLE_MAX 100
int main(int argc, char** argv)
{
FILE *Armes_de_contact_fichier = NULL;
Armes_de_contact_fichier = fopen("Armes de contact.txt", "r");
int i,j;
char boolean;
char separation;
if (Armes_de_contact_fichier != NULL)
{
for ( i = 0; i < 11; i++)
{
boolean = ' ';
separation=' ';
for ( j = 0 ; separation!=':';j++) // Je récupère le nom jusqu'à ce que je croise le caractère double points.
{
separation=fgetc(Armes_de_contact_fichier);
tab_armes_de_contact[i].Nom[j]=separation;
}
if ( separation == ':')
{
tab_armes_de_contact[i].Nom[j+1]='\0';
}
printf("%s ",tab_armes_de_contact[i].Nom);
}
}
else
{
printf("erreur");
}
return 0;
} |
Le problème est que cela fonctionne très bien pour de petits mots tel que ( gourdin : ) mais par exemple Epée ou hache à 2 mains est beaucoup trop long et je n'ai pas le mot en entier, alors que pourtant ma variable nom devrais pouvoir la stocker.
J'ai utiliser le debugguer et je vois bien ma variable separation prendre la bonne valeur à chaque fois cependant je n'arrives pas à accéder aux valeurs de ma structure qui se trouve dans l'autre fichier à l'aide de "Watches"