Tableau de pointeur en C (Problème)
Kel
-
Hxyp Messages postés 401 Date d'inscription Statut Membre Dernière intervention -
Hxyp Messages postés 401 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je vous remercie tout d'abord au temps que vous donner pour lire mon problème .
J'ai défini une structure :
typedef struct structure{
int entier1;
char caractere;
int entier2;
}Structure;
typedef Structure * structure_pt ;
Ce que je veux faire c'est lire quelque donnée dans un fichier et les stocker dans ma structure :
FILE * f;
f=fopen("fichier.txt","r");
/*
Pour précision mon fichier contient :
4 r 3
1 t 9
*/
structure_pt info[2];
for(i=0;i<2;++i)
{
fscanf(f,"%d %c %d",&(info[i]->entier1),&(info[i]->caractere),&(info[i]->entier2));
}
Mon problème est le suivant ,
fscanf me stock des valeurs bizzar, mais si je fais fscanf(f,"%d %c",&(info[i]->entier1),&(info[i]->caractere)); ça marche très bien .
JE ne comprends pas pourquoi ?
j'ai essayé d'allouer de la mémoire structure_pt info[2]=(structure_pt)malloc(sizeof(structure_pt)); ça marche pas .
Qu'est ce que je dois faire exactement ?!
Merci d'avance pour votre réponse .
Je vous remercie tout d'abord au temps que vous donner pour lire mon problème .
J'ai défini une structure :
typedef struct structure{
int entier1;
char caractere;
int entier2;
}Structure;
typedef Structure * structure_pt ;
Ce que je veux faire c'est lire quelque donnée dans un fichier et les stocker dans ma structure :
FILE * f;
f=fopen("fichier.txt","r");
/*
Pour précision mon fichier contient :
4 r 3
1 t 9
*/
structure_pt info[2];
for(i=0;i<2;++i)
{
fscanf(f,"%d %c %d",&(info[i]->entier1),&(info[i]->caractere),&(info[i]->entier2));
}
Mon problème est le suivant ,
fscanf me stock des valeurs bizzar, mais si je fais fscanf(f,"%d %c",&(info[i]->entier1),&(info[i]->caractere)); ça marche très bien .
JE ne comprends pas pourquoi ?
j'ai essayé d'allouer de la mémoire structure_pt info[2]=(structure_pt)malloc(sizeof(structure_pt)); ça marche pas .
Qu'est ce que je dois faire exactement ?!
Merci d'avance pour votre réponse .
A voir également:
- Tableau de pointeur en C (Problème)
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
- Imprimer tableau excel sur une page - Guide
1 réponse
Bonjour,
Structure est un type vous pouvez l'utiliser directement exemple:
Structure est un type vous pouvez l'utiliser directement exemple:
#include <stdlib.h> #include <stdio.h> typedef struct structure{ int entier1; char caractere; int entier2; }Structure; int main(void) { Structure *ptr; ptr=malloc(sizeof(struct structure)*4); ptr[0].entier1 = 234; ptr[0].entier2 = 824; ptr[3].caractere = 'c'; printf("%d %d %c", ptr[0].entier1, ptr[0].entier2, ptr[3].caractere); free(ptr); return 0; }