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

  FORUM HardWare.fr
  Programmation
  C

  [Résolu] popen marche pas ???

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] popen marche pas ???

n°1925083
Willits
La réponse est 42
Posté le 18-09-2009 à 15:14:56  profilanswer
 

Salut à tous,
 
Alors, mon environnement:
- RHEL 5.3, gcc-4.1.2, gtk+ 2.10
 
Voilà ce que je veux faire: lancer un mount, lire le résultat et l'afficher à l'écran.
 
Chose qui est censé être simple, mais là je ne comprend pas et je n'arrive pas à voir d'où viens le problème.  :fou:  
 
Voilà le petit bout de code: (simplifié avec de gros tableau  :ange: )

Code :
  1. gchar * t_mount_cmd = g_strdup_printf("mount %s %s", t_device, MOUNT_POINT);
  2.     FILE * t_file = popen(t_mount_cmd, "r" );
  3.     gchar t_buffer[500] = { 0 };
  4.     gchar t_error[65534] = { 0 };
  5.    
  6.     while (fgets(t_buffer, 500, t_file) != NULL)
  7.         strncat(t_error, t_buffer, 65534);
  8.     g_print("GOT: %s\n", t_error);
  9.     pclose(t_file);


 
Voilà, or sur mon terminal j'ai ça qui s'affiche:  :pt1cable:  

Citation :


ERROR: ld.so: object 'prof_agent.so' from LD_PRELOAD cannot be preloaded: ignored.
mount: seul l'usager ROOT peut faire cela
GOT:  
 


 
Donc, moralité: t_error est vide (je GOT rien...).  :heink: Donc, popen, ben je sais pas où qu'il passe le pipe, car t_error est vide...
 
Si quelqu'un peut m'aider !!!!! Car là je comprend plus rien.
 
Merci,
 
Willits
 
 
 
Edit: Résolu tout seul. (A chaque fois que je poste un topic je trouve 10 min après la solution).
 
mount retourne tout ces messages dans stderr (et pas stdout), donc pour récupérer stderr avec popen, il faut ajouter "2>&1" après la commande mount.
 
Celà donne:
gchar * t_mount_cmd = g_strdup_printf("mount %s %s 2>&1", t_device, MOUNT_POINT);
 
En espérant que ça aide quelqu'un.
 
Willits


Message édité par Willits le 18-09-2009 à 15:29:00
mood
Publicité
Posté le 18-09-2009 à 15:14:56  profilanswer
 


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

  [Résolu] popen marche pas ???

 

Sujets relatifs
PHP : str_replace ne marche même pas[Résolu tout seul] [GTK] GTK Cell Renderer ne dessine qu'une ligne ?
[RESOLU] SplashScreen qui clignote[Matlab] (Résolu) Décalage de fréquences avec DCT
[Résolu] Informations d'une photo[Résolu] erreur stray \320 \240
Résolu : Récupérer le nom d'un tableau dynamique sous Excel2007[Résolu] warning friend declaration
[RESOLU] Lors de l'éxecution un coup ca marche, un coup ca marche pas 
Plus de sujets relatifs à : [Résolu] popen marche pas ???


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