Je suis nouveau à c. Existe-t-il un moyen simple de redirect toute la sortie de la console (printfs, etc.) vers un fichier en utilisant un paramètre de ligne de commande général \ linkage (sans avoir à modifier le code d’origine)?
Si oui, quelle est la procédure?
Utiliser la redirection de sortie du shell
your-command > outputfile.txt
L’erreur standard sera toujours sortie sur la console. Si vous ne le souhaitez pas, utilisez:
your-command > outputfile.txt 2>&1
ou
your-command &> outputfile.txt
Vous devriez également regarder dans l’utilitaire tee
, qui peut le redirect vers deux endroits à la fois.
Sur les unices, vous pouvez aussi faire:
your-command | tee output file.txt
De cette façon, vous verrez la sortie et pourrez interagir avec le programme tout en obtenant une copie papier de la sortie standard (mais pas en entrée standard, donc ce n’est pas comme une session télétype).
Comme mentionné ci-dessus, vous pouvez utiliser l’opérateur> pour redirect la sortie de votre programme vers un fichier, comme dans:
./program > out_file
En outre, vous pouvez append des données à un fichier existant (ou le créer s’il ne se ferme pas déjà en utilisant >> operator:
./program >> out_file
Si vous voulez vraiment en savoir plus sur les fonctionnalités (géniales) de la ligne de commande, je vous recommande vivement de lire ce livre (et de faire beaucoup de programmation :))
Prendre plaisir!
Dans les shells Unix, vous pouvez généralement exécuter le executable > file 2> &1
, qui signifie “redirect la sortie standard vers le fichier et la sortie d’erreur vers la sortie standard”.