Utilistation commande Shell dans un programme en C

didi world

Nouveau membre
Bonjour tout le monde :D

Je voulais juste savoir si il etait possible d'utiliser une commande Shell par exemple cat dans un programme en C :hello:

Merci d'avance :sol:
 

zeb

Modérateur
Salut !
Oui, c'est possible...

Ah, et en plus tu veux savoir comment, je suppose ;) :
Code:
#include <stdlib.h>
int system(const char *command);
 

batchy

Grand Maître
Oui, surtout si il est dans une boucle. Sinon l'utilisateur pourra jamais arrêter ton programme.

par contre la valeur de retour de system est laissée à la liberté de l'implémenteur. sous linux il faut utiliser WIFEXITED, WEXITSTATUS .... (man system; man wait)
 

zeb

Modérateur
Qu'est-ce que tu racontes batchy ? :non:
system() est bloquant !

Là, tu commences à vouloir lui faire gérer le retour du fils d'un fork() / exec().
Ce qui est la façon la plus élégante de faire sous UNIX/Linux, je te l'accorde ;)

Mais bon, vu le niveau apparent de didi en programmation (sans chercher à dénigrer, hein :o on a tous le droit à débuter) et le niveau de son avatar (bon, là ça dénigre sévère :pfff: ), system() me semble suffisant. Mais rien n'empêche effectivement d'évoquer l'art de bien faire ;)
 

batchy

Grand Maître
Oui, et alors ? son type de retour sous linux c'est la même chose que ce que sort wait(), je vais pas te faire l'affront de te dire d'aller lire le manuel de system !

et puis un while(true) system("echo lol"); c'est pas un bête ctrl+c qui va l'arrêter.
 

zeb

Modérateur
je vais pas te faire l'affront de te dire d'aller lire le manuel de system !
Proposer de lire ce putain (sic) de manuel n'est jamais un affront !
D'autant que sa relecture récente m'a rafraichit utilement la mémoire :whistle:

...
Bon, et pour ton histoire de boucle, j'abonde dans ton sens : il faut programmer intelligent.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 079
Messages
6 716 705
Membres
1 586 247
Dernier membre
MrAzgarIII
Partager cette page
Haut