#1 Le 11/09/2007, à 10:56
- Nigo
bash : modifier des varibles d'env en C(++) ?
bonjour
je cherche à passer des variables entre C++ et bash
je lance un programme C++ dans un script en bash, dans un processus fils (le script continue pendant que le programme C++ tourne, "blabla; prog &; blabla"). Dans mon programme, j'aimerais pouvoir écrire des données lisibles par le script, mais l'utilisation de stdin est (je suppose) inutile puisque c'est asynchrone (non ?)
j'ai éssayé
_setenv("variable", "valeur", 1);
_system("export variable=valeur");
sans effet
je vais passer par un fichier temporaire (en ramdisk) mais j'aurais préféré éviter cette solution; vous avez une autre idée ?
merci
Hors ligne
#2 Le 11/09/2007, à 16:46
- alexduf
Re : bash : modifier des varibles d'env en C(++) ?
tu peux essayer avec un named pipe (ou tube nommé en français, mais c'est moins classe quand même )
c'est la commande mkfifo, qui te créé un fichier spécial. Ensuite tu n'as plus qu'a manipuler ca comme un fichier en C++ (en tout cas en java ca se manipule de la même manière) Je ne sais pas si cela s'applique à ce que tu veux faire, mais c'est peut etr un peu plus optimisé que de faire ca sur un "vrai" fichier
Hors ligne