Structures en C
zikmike
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai pas mal de problemes pour utiliser les structure en C.
En fait j'ai deja redigé l'algo de mon programme et je sais presque tout transcrire en C mais je coince des qu'il faut utiliser des structure de donné avec la fonction struct.
Donc j'aimerais qu'on me donne un exemple avec le fichier texte suivant:
A 1 b
B 2 c
Imaginons que je veuille lire ce fichier et enregistrer les données dans un tableau. Comment je dois le rédiger
J'ai pas mal de problemes pour utiliser les structure en C.
En fait j'ai deja redigé l'algo de mon programme et je sais presque tout transcrire en C mais je coince des qu'il faut utiliser des structure de donné avec la fonction struct.
Donc j'aimerais qu'on me donne un exemple avec le fichier texte suivant:
A 1 b
B 2 c
Imaginons que je veuille lire ce fichier et enregistrer les données dans un tableau. Comment je dois le rédiger
A voir également:
- Structures en C
- Logiciel de calcul de structure gratuit en ligne - Télécharger - Architecture & Déco
- [C] structures matrices - Forum C
- Dans la table des matières du document à télécharger, le chapitre 6 et ses 2 sections n'apparaissent pas. trouvez l'erreur dans la structure du document et corrigez-la. mettez à jour la table des matières. quel est le mot formé par les lettres en majuscules de la table des matières après sa mise à jour ? - Forum Word
- Les structures - Forum Programmation
- Certains styles de titres ne s'affichent pas dans la table des matières ✓ - Forum Word
5 réponses
Tu peux stocker chaque ligne dans ue structure :
1) Déclare un tableau t de type struct plop_t *. Je te conseille dans un premier temps de travailler avec un tableau allouée de manière statique plutôt qu'avec un malloc (il faut juste allouer plus de case que dans le nombre de ligne du fichier) :
struct plop[255];
2) Ouvre le fichier avec fopen et déclare une variable i=0;
3) Lis le fichier ligne par ligne (par exemple avec getline et sscanf).
4) Si le sscanf détecte une ligne correcte, stocke la dans le tableau dans t[i] et incrémente i (++i).
5) Une fois le fichier lu ferme-le avec un fclose.
6) Si tu as alloué le tableau avec un malloc, pense à le libérer avec un free.
Bonne chance
struct plop_t{ char x; unsigned y; char z; };
1) Déclare un tableau t de type struct plop_t *. Je te conseille dans un premier temps de travailler avec un tableau allouée de manière statique plutôt qu'avec un malloc (il faut juste allouer plus de case que dans le nombre de ligne du fichier) :
struct plop[255];
2) Ouvre le fichier avec fopen et déclare une variable i=0;
3) Lis le fichier ligne par ligne (par exemple avec getline et sscanf).
4) Si le sscanf détecte une ligne correcte, stocke la dans le tableau dans t[i] et incrémente i (++i).
5) Une fois le fichier lu ferme-le avec un fclose.
6) Si tu as alloué le tableau avec un malloc, pense à le libérer avec un free.
Bonne chance
mais dans l'exemple que j'ai donné j'aimerais bien enregistrer les données dans un tableau 2 lignes 3 colonnes pour me permettre de travailler sur les données après.
Est ce possible?
Est ce possible?
Salut,
Oui c'est possible en déclarant un tableau d'entier et en entrant le code ascii des caractères dans le tableau.
Cdlt
Oui c'est possible en déclarant un tableau d'entier et en entrant le code ascii des caractères dans le tableau.
Cdlt
... mais c'est peu pratique car il va falloir caster les int en caractères et ce n'est pas vraiment une "bonne" approche (notamment car un int prend plus de mémoire qu'un char et qu'un int n'est pas la meilleure manière de décrire un caractère).
Bonne chance
Bonne chance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question