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

  FORUM HardWare.fr
  Programmation
  C

  [C] Fonction fprintf et fichier formaté: j'ai du mal :/

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Fonction fprintf et fichier formaté: j'ai du mal :/

n°537807
LaTeX_
Pôôôpaa !
Posté le 12-10-2003 à 23:44:27  profilanswer
 

Bisoir,  
 
 
J'ai un chti problème avec un fichier que je veux importer et qui est au format suivant:
 
"nom;prenom;sexe;age;departement;remuneration;\n"
 
Ce qui me semble etre le plus correct à faire serait çà:
 

Code :
  1. while(fscanf(flux,"%s;%s;%s;%d;%d;%d;\n", &nom, &prenom, &sexe, &age, &departement, &remuneration)
  2. {
  3.      printf("nom : %d ...
  4. }


 
mais tout se retrouve dans la variable nom :/
 
Comment lire correctement ce type de fichier avec fprintf ?
 
Ou sinon autre méthode, récupérer toute la ligne puis la découper grace aux ";", mais hélas je connais pas de fonctions idéale... y'aurait il pas un équivalent de explode de php?
 
:jap:

mood
Publicité
Posté le 12-10-2003 à 23:44:27  profilanswer
 

n°537810
antp
Super Administrateur
Champion des excuses bidons
Posté le 12-10-2003 à 23:56:52  profilanswer
 

une boucle avec strtok
 
Dan ton code, si nom est bien une chaîne (char[] ou char *) tu ne dois pas mettre le "&" devant hein ;) Ce sont déjà des pointeurs. C'est que pour les %d %c %f etc. qu'il faut prendre l'adresse de la variable.


Message édité par antp le 12-10-2003 à 23:58:18

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°537816
Taz
bisounours-codeur
Posté le 13-10-2003 à 00:26:42  profilanswer
 

[benoit@athlon tmp]$ cat antp_a_tort.c


Code :
  1. #include <stdio.h>
  2. int main()
  3. {
  4.   char nom[100], prenom[100], sexe;
  5.   int age, departement, remuneration;
  6.   while(fscanf(stdin,"%[^;];%[^;];%c;%d;%d;%d;\n", nom, prenom, &sexe, &age, &d
  7. epartement, &remuneration) == 6)
  8.   {
  9.     fprintf(stdout,"-> %s - %s - %c - %d - %d - %d\n", nom, prenom, sexe, age, d
  10. epartement, remuneration);
  11.   }
  12.   return 0;
  13. }


[benoit@athlon tmp]$ gcc_ansi antp_a_tort.c && echo -e "xxxx;benoit;m;20;64;0;\nyyyy;programmeuse python;f;20;60;696969\n" | ./a.out
-> xxxx - benoit - m - 20 - 64 - 0
-> yyyy - programmeuse python - f - 20 - 60 - 696969


Message édité par Taz le 13-10-2003 à 01:02:22
n°537942
antp
Super Administrateur
Champion des excuses bidons
Posté le 13-10-2003 à 10:40:03  profilanswer
 

:??: en quoi j'ai tort ? je cite juste strtok comme solution alternative :o
 
j'ai pas dit que son erreur venait uniquement des "&"


Message édité par antp le 13-10-2003 à 10:40:33
n°537971
LaTeX_
Pôôôpaa !
Posté le 13-10-2003 à 11:08:40  profilanswer
 

Un grand merci à vous deux pour vos réponses... la solution de Taz marche très bien, le coup de chopper tout ce qu'il y a avant un ";" est nickel. Comme çà, çà fonctionne aussi avec les chaines contenant un espace :)
 
antp j'avais essayé avec le & et sans, des fois que mon erreur venait de là mais non :/
 
:jap:


Message édité par LaTeX_ le 13-10-2003 à 11:09:26
n°538054
Taz
bisounours-codeur
Posté le 13-10-2003 à 12:07:47  profilanswer
 

LaTeX_ a écrit :


antp j'avais essayé avec le & et sans, des fois que mon erreur venait de là mais non :/
 
:jap:

effectivement elle venait de là et non. ton programme ne pouvait fonctionnera vec les & en trop, mais sans il n'aurait pas rendu le résultat escompté

n°538130
LaTeX_
Pôôôpaa !
Posté le 13-10-2003 à 13:37:54  profilanswer
 

Taz a écrit :

effectivement elle venait de là et non. ton programme ne pouvait fonctionnera vec les & en trop, mais sans il n'aurait pas rendu le résultat escompté


 
à propos de çà, j'ai un autre soucis... je veux recupérer le contenu de nom, prenom, age... etc pour le mettre dans une structure pointée mais pour les char[X] çà me mets juste la première lettre  :??:
 
c'est quand je fait çà :

Code :
  1. *premierepers->nom=*nom;
  2. *premierepers->prenom=*prenom;


la structure :

Code :
  1. typedef struct personnel
  2.         {
  3.         char nom[20];
  4.         char prenom[20];
  5.         ...   
  6.         }


 
la définition de premierepers:
 

Code :
  1. personnel *premierepers


 
J'ai fait attention à ce que le type de nom et prenom dans la structure soit identique au type de nom et prenom dans la fonction... je fait mal l'enregistrement ...
 
faut il que je fasse une boucle ou y a-t-il un moyen de tout récupérer en une passe ? J'ai essayé avec diverses combinaisons mais je sèche :sweat:


Message édité par LaTeX_ le 13-10-2003 à 13:38:46
n°538192
Taz
bisounours-codeur
Posté le 13-10-2003 à 14:17:48  profilanswer
 

strcpy çà te dit quelque chose ?
tu ferais bien de t'entrainer un peu aux pointeurs, par ce que là c'est à la petite étoile la flèche

n°538722
LaTeX_
Pôôôpaa !
Posté le 13-10-2003 à 21:56:21  profilanswer
 

Bah ouai mais ca fait plus de 6 mois que j'ai pas retouché au C [:spamafote]
 
Merci pour le coup de main ;)

n°538724
Taz
bisounours-codeur
Posté le 13-10-2003 à 21:57:49  profilanswer
 

c'est des trucs qui ne s'oublient pas. approfondis, pour maitriser complètement les pointeurs, parce que là tu rames sur des erreurs à la mesure de ton incompréhension :/

mood
Publicité
Posté le 13-10-2003 à 21:57:49  profilanswer
 

n°538821
LaTeX_
Pôôôpaa !
Posté le 13-10-2003 à 23:28:28  profilanswer
 

A force de ne pas manipuler, çà s'oublie, surtout quand on est pas très fan ;)


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

  [C] Fonction fprintf et fichier formaté: j'ai du mal :/

 

Sujets relatifs
autopublication, affichage dynamique formaté dans champs texte ?Le meilleur moyen de lire / écrire dans un fichier en java
Recherche d'une chaine dans un fichier, pourquoi ça plante sur .exe ?[PHP-GD] Transformer un fichier texte en image ...
Format d un fichier AVIpb upload fichier
[java] aide pour structurer une fonction[interrogation écrite] fonction membre template virtuelle
[resolu] fonction choiceenvois de fichier - truc de ouf
Plus de sujets relatifs à : [C] Fonction fprintf et fichier formaté: j'ai du mal :/


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