Structures en C
Fermé
zikmike
Messages postés
5
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
9 janvier 2009
-
9 janv. 2009 à 19:56
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 10 janv. 2009 à 14:11
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 10 janv. 2009 à 14:11
A voir également:
- Structures en C
- Logiciel de calcul de structure gratuit en ligne - Télécharger - Architecture & Déco
- Les structures en C ✓ - Forum C
- Structures, listes chainees en C - Forum C
- Les structures - Forum Programmation
- 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
5 réponses
mamiemando
Messages postés
33432
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
16 décembre 2024
7 809
9 janv. 2009 à 21:21
9 janv. 2009 à 21:21
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
zikmike
Messages postés
5
Date d'inscription
vendredi 9 janvier 2009
Statut
Membre
Dernière intervention
9 janvier 2009
9 janv. 2009 à 21:42
9 janv. 2009 à 21:42
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?
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
9 janv. 2009 à 23:00
9 janv. 2009 à 23:00
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
mamiemando
Messages postés
33432
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
16 décembre 2024
7 809
10 janv. 2009 à 13:57
10 janv. 2009 à 13:57
... 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
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 842
10 janv. 2009 à 14:11
10 janv. 2009 à 14:11
Ca c'est clair que niveau élégance on a déjà fait mieux. ^^.
Sinon, tout simplement, tu prends un tableau de char. Tu stockeras les informations comme une chaîne de caractères.
Et pour récupérer les caractères, un simple sscanf suffira. :).
Mais, la structure est beaucoup mieux ;)
Sinon, tout simplement, tu prends un tableau de char. Tu stockeras les informations comme une chaîne de caractères.
Et pour récupérer les caractères, un simple sscanf suffira. :).
Mais, la structure est beaucoup mieux ;)