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

  FORUM HardWare.fr
  Linux et OS Alternatifs

  appel à la fonction system() et quote

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

appel à la fonction system() et quote

n°688416
manu025
Posté le 05-06-2005 à 18:33:20  profilanswer
 

Bonjour,
 
J'ai un soucis concerant l'utilisation de la pimitive system() en C sous linux.
 
j'aimerais exécuter la commande suivante : cat /proc/loadavg | cut -f1 -d" " ou cat /proc/loadavg | cut -f1 -d\ .
Le problème est qu'à cause des " ou du \, cela ne passe pas l'appel à system().
 
Auriez-vous une idée ?
Merci d'avance.


---------------
-@- When code matters more than commercials -@-
mood
Publicité
Posté le 05-06-2005 à 18:33:20  profilanswer
 

n°688419
l0ky
Posté le 05-06-2005 à 18:34:53  profilanswer
 

\" pour les " et \\ pour les \

n°688422
manu025
Posté le 05-06-2005 à 18:36:29  profilanswer
 

j'y avais bien pensé, mais cela ne marche pas.


---------------
-@- When code matters more than commercials -@-
n°688431
l0ky
Posté le 05-06-2005 à 18:41:04  profilanswer
 

Ca marche pour moi... tu as quoi comme erreur ??


 system("/bin/cat /proc/loadavg | /usr/bin/cut -f1 -d\" \"" );

n°688432
l0ky
Posté le 05-06-2005 à 18:42:31  profilanswer
 

code:

Code :
  1. int
  2. main (argc, argv)
  3.      int argc;
  4.      char **argv;
  5. {
  6.   system("/bin/cat /proc/loadavg | /usr/bin/cut -f1 -d\" \"" );
  7.   exit (0);
  8. }


 
résultat:

\_{src} ./test  
0.26


Message édité par l0ky le 05-06-2005 à 18:42:45
n°688438
manu025
Posté le 05-06-2005 à 18:46:41  profilanswer
 

Bon, en fait j'ai dit que j'utilisais system() pour simplifier mais en fait j'utilise g_spawn_command_line_sync de la glib. Cela permet de récupérer le résultat de sortie sans se faire chier avec system et fork/exec.
 
Donc j'ai ça :  

Code :
  1. g_spawn_command_line_sync("cat /proc/loadavg | cut -f1 -d\" \"",&standard_output,NULL,NULL,error);


 
Et à l'exécution j'ai l'erreur :
(process:31829): GLib-CRITICAL **: unquote_string_inplace: assertion `err == NULL || *err == NULL' failed
 
et j'ai de la purée à l'afichage.


---------------
-@- When code matters more than commercials -@-
n°688441
manu025
Posté le 05-06-2005 à 18:48:51  profilanswer
 

Effectivement avec system ça marche, bon ben je vais me faire chier avec ça alors :/


---------------
-@- When code matters more than commercials -@-

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs

  appel à la fonction system() et quote

 

Sujets relatifs
System Panic au démarrage sur un HP 9000[bash] guillemets et quote
jauge de batterie ne fonction pas sous mandrake 10.2 avec travelmateCherche sons system de Mac a telecharger
KTTS - KDE Text-to-Speech SystemAppel à témoins : carte mère GA-K8NS-939 sous Linux
Imprimante multi-fonction[DEBIAN]Mon system crée des fichiers aux extentions bizarre
My Media System - Interface Multimedia - 1.1.0-RC5 Disponible !Nombre d'argument d'un appel systeme
Plus de sujets relatifs à : appel à la fonction system() et quote


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