1

Bonjour,
j'ai 2 questions,

j'ai un fichier contenant plusieurs elements par ligne, separé par des ";"
exemple -> nom;prenom;age
il y a plusieurs lignes contenant des infos de ce type sur plusieurs personne
je dois decouper cette chaine pour remplir une structure
typedef struct personne
{
char *nom;
char *prenom;
char *age;
}
personne;

Quelle est la meilleure solution selon vous pour remplir cette structure avec chaque ligne ?

- decouper avec strtok la ligne, recuperer chaque element, allouer la structure en dynamique selon la taille de chaque element, puis copier la chaine dans la structure

OU BIEN

- convertir chaque ";" par un espace, et enfin utiliser sscanf sur la ligne pour la decouper en plusieurs elements, et enfin copier chaque elements dans la structure en allouant dynamiquement selon la taille de chaque element

je sais pas si j'ai ete assez clair



2e question,
vous avez une ligne plus simple que celle-ci pour remplacer un caractere ???
memcpy ( adr, ' ', 1 ); // coller le caractere ' ' (espace) à l'adresse adr


Merci

2

1e/ Premiere solution
2e/ *adr = ' ';

3

gets(buffer,fichier)
sscanf(buffer,"%s;%s;%s",&a,&b,&c); marche pas?

4

non, scanf c'est vraiment très primitif : %s s'arrête au premier whitespace ^^ (et je ne parle même pas des buffer overflows embarrassed)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

5

En fait j'ai programmé les 2 méthodes,
la 2e prend moins de ligne, mais bon si vous pensez que la 1ere est plus propre, je vais garder la 1ere

J'ai plusieurs fichiers à extraire, je vais voir si je dois faire un sous prog par extraction, ou tout dans le même (les structures etant differente)

merci bien

6

Obza_Fazer (./5) :
la 2e prend moins de ligne, mais bon si vous pensez que la 1ere est plus propre, je vais garder la 1ere

Ouais enfin, doit y avoir quoi, 5lignes de difference? Et le nombre de ligne ca n'a rien a voir avec la qualite du code (ni proportionnelle, ni inversement proportionnelle...).
Obza_Fazer (./5) :
J'ai plusieurs fichiers à extraire, je vais voir si je dois faire un sous prog par extraction, ou tout dans le même (les structures etant differente)

Bah tu fais une fonction un peu plus generique (gerne avec ton caractere de separation en parametre) et un nom de fichier en param aussi.
Tu vas pas te faire chier a dupliquer du code... (ce qui est poooo bien)

7

Ouais enfin, doit y avoir quoi, 5lignes de difference? Et le nombre de ligne ca n'a rien a voir avec la qualite du code (ni proportionnelle, ni inversement proportionnelle...).


Exact

Tu vas pas te faire chier a dupliquer du code... (ce qui est poooo bien)


Merci, c'est exactement ce que j'avais envie d'entendre ! smile


Merci a tous en tout cas

Je vais editer mon post de tete par soucis de transparence vis à vis des bots google & co. En cas de pb, dites le moi

Merci a tous en tout cas

8

c'est quoi la "transparence vis à vis des bots google & co" ? trifus

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

9

bonne question !
Il ne veut peut être pas qu'on sache qu'il a posé cette question... trifus

10

je pense ouais...
en mm temps, je le comprends pour le coup du memcpy grin

11

Obza_Fazer (./7) :
En cas de pb, dites le moi

uep, pareil que les deux plus haut : problème, pas compris ^^

(plus serieusement, ça rend le topic totalement inutile si tu vires la question...)
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

12

(ou alors, il faut qu'on vire nos réponses afin de faire un topic homogène trilove)

13

Ah oui pardon

en fait outre la débilité de certaine de mes questions, mon bahut me demande de faire un programme particulier, sans nous donner de cours de C
chacun cherchant alors les infos sur google en grande majorité, j'aimerais eviter que certaines personnes de mon bahut aboutissent sur les mêmes codent que moi (ou plutot même technique d'approche). Les questions que je pose etant plutot orientée sur la façon de proceder que sur du code en lui même

Apres la date d'echeance du TP, ou si mon edit du 1er post est genant, je remettrais le topic de tete

Laissez vos reponses il n'y a aucun probleme

Merci en tout cas

(PS. et oui j'aime pas toujours quand google met son nez partout)

14

Obza_Fazer (./13) :
Apres la date d'echeance du TP, ou si mon edit du 1er post est genant, je remettrais le topic de tete

Il l'est, mais si tu rétablis le post à la fin de ton TP et que cette fin n'est pas dans 3 ans, y'a aucun problème happy
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

15

OBza: tu devrais vraiment remettre ce que tu mettasi, pke en plus, ca pourrait aider des autres (utilite d'un forum aussi) roll

16

Oui mais justement, il ne veut pas que ça aide les autres de son école... #huhu#

17

mais c'est bidon... surtout pour les questions qui y etaient:
1/ Utiliser strtok ou sscanf pour scanner une chaine de caractere genre plop;blah;kikoo
2/ Comment faire un memcpy(address, 1, ' ');
Enfin, y'a vraiment rien de specifique quand meme

18

nEUrOO (./15) :
OBza: tu devrais vraiment remettre ce que tu mettasi, pke en plus, ca pourrait aider des autres (utilite d'un forum aussi) roll.gif
Ça aide aussi à comprendre ce qu'il veut ^^
Je n'ai jamais la première version du post ^^.
Enfin, il l'a surement enlevé lorsqu'il a eu sa réponse.
avatar

19

ouai il a rien d'extra mon topic, c'etait juste une question sur la methode
j'ai remis quand même comme demandé

20

Zephyr (./14) :
Obza_Fazer (./13) :
Apres la date d'echeance du TP, ou si mon edit du 1er post est genant, je remettrais le topic de tete

Il l'est, mais si tu rétablis le post à la fin de ton TP et que cette fin n'est pas dans 3 ans, y'a aucun problème happy

En meme temps si ton TP dure pas 4 semaine, google aura pas trop le temps d'indexer le topic...
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

21


« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

22

Oui enfin c'est ptet une question de chance aussi, et pour un TP de 2h, je vois mal matériellement Google arriver a l'indexer
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

23

- si il parle de "date d'echeance du TP" c'est forcément que ça dure plusieurs jours ^^
- si il poste après minuit j'espère pour lui qu'il était pas au début d'un TP de 2h triso
- c'est pas une question de chance dans la mesure où j'ai pris le premier topic de la veille venu (ça l'aurait été si j'avais cherché n'importe quel topic de la veille sur google, mais là je cherchais ce topic précis), mais libre à toi de réessayer avec d'autres topics smile

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

24

avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

25

- 2h c'est pas assez
- et surtout on parle des nouveaux *topics*, pas des nouveaux posts (google n'a aucun moyen de savoir si un vieux topic a un nouveau post, alors que s'il voit un nouveau topic il sait qu'il ne l'a pas encore visité et donc il réagit beaucoup plus vite) -- c'est bien de ça dont Obza avait peur smile

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)