A voir également:
- Récupérer erreurs sql dans un script shell
- Script vidéo youtube - Guide
- Comment recuperer un message supprimé sur whatsapp - Guide
- Recuperer video youtube - Guide
- Comment récupérer un compte facebook piraté - Guide
- Impossible de récupérer mon compte gmail - Guide
1 réponse
mamiemando
Messages postés
33453
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
6 janvier 2025
7 812
6 sept. 2008 à 01:19
6 sept. 2008 à 01:19
Pour rediriger la sortie d'erreur et la sortie standard il faut utiliser les opérateurs 1> et/ou 2>. Exemple avec un petit programme en C++ dont le code est :
Quand je lance le programme j'écris dans la console aussi bien ce qui est écrit dans la sortie d'erreur et la sortie standard :
À présent effectuons une redirection de la sortie standard dans plop.1 et de la sortie d'erreur dans plop.2 :
Tu peux aussi rediriger les deux flux vers un même fichier :
Normalement tu es sensé pourvoir écrire :
... mais pour une raison qui m'échappe il redirige mal le flux :s
Bonne chance
#include <iostream> int main(){ std::cout << "J'écris sur la sortie standard" << std::endl; std::cerr << "J'écris sur la sortie d'erreur" << std::endl; return 0; }
Quand je lance le programme j'écris dans la console aussi bien ce qui est écrit dans la sortie d'erreur et la sortie standard :
(mando@aldur) (~) $ g++ -W -Wall plop.cpp (mando@aldur) (~) $ ./a.out J'écris sur la sortie standard J'écris sur la sortie d'erreur
À présent effectuons une redirection de la sortie standard dans plop.1 et de la sortie d'erreur dans plop.2 :
(mando@aldur) (~) $ ./a.out 1> plop.1 2>plop.2 (mando@aldur) (~) $ cat plop.1 J'écris sur la sortie standard (mando@aldur) (~) $ cat plop.2 J'écris sur la sortie d'erreurPar contre > ne redirige que la sortie standard :
(mando@aldur) (~) $ ./a.out > plop.3 J'écris sur la sortie d'erreur (mando@aldur) (~) $ cat plop.3 J'écris sur la sortie standard
Tu peux aussi rediriger les deux flux vers un même fichier :
(mando@aldur) (~) $ rm plop.4 (mando@aldur) (~) $ ./a.out 1>>plop.4 2>>plop.4 (mando@aldur) (~) $ cat plop.4 J'écris sur la sortie standard J'écris sur la sortie d'erreur
Normalement tu es sensé pourvoir écrire :
./a.out 2>&1 > plop.4
... mais pour une raison qui m'échappe il redirige mal le flux :s
Bonne chance
7 sept. 2008 à 02:52
Ta réponse m'est fort utile.
Je pense déjà que cela va résoudre mon problème.
Je reviens juste après exécution
Merci infiniment