Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1515 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Problème d'attribution de valeur à une structure

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème d'attribution de valeur à une structure

n°1832793
Haelle
Posté le 31-12-2008 à 12:11:14  profilanswer
 

Bonjour,
j'ai un soucis en C, j'ai créer une structure assez simple,
struct Cowboy {
    char* Name;
    int Poids;
    int Speed;
};
 
et j'ai un programme qui parcours un fichiers .txt et qui remplis mon talbeau de structure seulement il le remplit n'importe comment, il a l'air de mettre les adresses et pas le contenu: (end c'est la taille max du tableau)
struct Cowboy *read(int end){
    FILE *fichier;
    fichier=fopen("cowboys.txt","r" );
    int i;
 
    struct Cowboy *l=(struct Cowboy*)calloc(end,sizeof(struct Cowboy));
 
    for (i=0; i<end; i++)
    {
        char a[100];
        fgets(a, sizeof a,fichier);
        l[i].Name=a;
 
        int *b;
        fgets(&b, sizeof b,fichier);
        l[i].Poids=b;
 
        int *c;
        fgets(&c,sizeof c,fichier);
        l[i].Speed=c;
    }
    return l;
}
 
voilà le contenu de cowboys.txt:
lukcy luke
50
30
Joe
45
25
 
je teste tout ca avec un programme qui affiche le contenu d'un tableau de struct Cowboy:
void affiche(struct Cowboy l[], int end){
    int i;
    for (i=0; i<end; i++)
    {
        printf("nom: %s\n",l[i].Name);
        printf("poids: %d\n",l[i].Poids);
        printf("vitesse: %d\n",l[i].Speed);
    }
    printf("\n\n" );
}
 
et voilà la fonction main... (au début c'est pour tester la fonction affiche qui à l'air d'être correcte)
int main(){
    struct Cowboy m[2];
    m[0].Name="totototototototti";
    m[0].Poids=65;
    m[0].Speed=35;
    m[1].Name="titi";
    m[1].Poids=75;
    m[1].Speed=20;
 
    affiche(m,2);
    system("PAUSE" );
    affiche(read(2),2);
 
    printf("end\n" );
    system("PAUSE" );
    return 0;
}
 
merci par avance des réponses que vous pourriez m'apporter.


Message édité par Haelle le 31-12-2008 à 13:20:59
mood
Publicité
Posté le 31-12-2008 à 12:11:14  profilanswer
 

n°1832826
Haelle
Posté le 31-12-2008 à 13:31:11  profilanswer
 

à locker j'ai trouvé la réponse, il faut passer par atoi pour le Poids et Speed, mais j'ai toujours pas trouvé pour Name

n°1832933
Joel F
Real men use unique_ptr
Posté le 31-12-2008 à 17:08:47  profilanswer
 

pour name, strcpy

n°1832987
tpierron
Posté le 31-12-2008 à 19:53:38  profilanswer
 

Hmm, sans oublier le petit malloc avant pour éviter le segfault. Ou changer la déclaration de struct Cowboy en :

Code :
  1. struct Cowboy {
  2.     char Name[100];
  3.     int Poids;
  4.     int Speed;
  5. };


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Problème d'attribution de valeur à une structure

 

Sujets relatifs
[C - Gros débutant] Probleme de variable ...probleme image 4d, PHP, SQL
impossible de rejouer....probleme de scanf :(Problème avec condition dans script batch
petit probleme avec un script cssprobleme sur formulaire
Equivalent en C# pour sérialiser une structure. (Envoi par le réseau)Problème de connexion avec SQL serveur 2005
Petit problème d'affichage HTML 
Plus de sujets relatifs à : Problème d'attribution de valeur à une structure


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR