Comment lancer une application et capturer la sortie via stdout et peut-être stderr? Je suis en train d'écrire un système de construction automatisé et j'ai besoin de capturer la sortie pour analyser. Je voudrais mettre à jour svn repo et saisir le numéro de révision afin que je puisse déplacer les fichiers dans autobuild/revNumber/si réussi. Je voudrais également construire en utilisant make et télécharger le texte de la compilation sur mon serveur pour que tout le monde puisse voir les avertissements et les erreurs sur une version ayant échoué.lancer l'application, capturer stdout et stderr en C++
Je ne trouve pas la fonction system()
, mais je trouve la fonction CreateProcess()
sur MSDN. Je suis capable de lancer ce dont j'ai besoin mais je ne sais pas comment capturer le stderr et le stdout. Je remarque que le processus se lance séparément sauf si je mets un point d'arrêt et que je garde mon application en cours de sortie, ce qui lui permettra de conserver tout le texte dans la fenêtre de ma console d'application. Je voudrais également attendre jusqu'à ce que tous les processus soient terminés et ensuite scanner les données qu'il a produites pour faire toutes les opérations supplémentaires dont j'ai besoin. Comment puis-je faire ça?
Je crois que le nom du "&" caractère/glyphe est l'esperluette. –
D'accord: mais je parlais de '2> & 1' comme du 'hiéroglyphe' (ce qui, je l'admets volontiers, est une mauvaise utilisation du terme). –
Je pense que ce serait un peu plus clair si vous parliez de '2> & 1' comme d'une 'redirection' au lieu d'une 'heiroglyph'. Quelqu'un qui n'est pas familier avec la linguistique égyptienne et va chercher le terme sur Wikipédia pourrait devenir très confus. :) –