J'essaie d'écrire les données de la console dans un fichier texte séparé dans cpp. Quelqu'un m'aider avec un exemple de code.Comment écrire la sortie de la console dans un fichier texte dans cpp?
Répondre
Il existe plusieurs façons de procéder. Vous pouvez le rediriger depuis la ligne de commande avec programname > out.txt
. Ou vous pouvez utiliser freopen("out.txt","w",stdout);
au début de votre programme.
Cela fonctionnait bien pour moi. Mais soudain, les sorties de la console cmd étaient complètement invisibles. Lorsque je supprime cette ligne, les sorties cmd étaient visibles retour –
Si vous voulez créer un processus enfant et rediriger sa sortie, vous pouvez faire quelque chose comme ceci:
FILE* filePtr = popen("mycmd");
FILE* outputPtr = fopen("myfile.txt");
if(filePtr && outputPtr) {
char tmp;
while((tmp = getc(filePtr)) != EOF)
putc(tmp, outputPtr);
pclose(filePtr);
fclose(outputPtr);
}
uniquement pertinent avec pthreads ... – shoosh
Si vous voulez écrire à partir de votre propre processus, je vous suggère une méthode simple d'impression
void print(const string str, ostream & output)
{
output << str;
}
Ensuite, vous pouvez appeler
print("Print this", cout);
pour la sortie de la console, ou
ofstream filestream("filename.out");
print("Print this", filestream);
d'écrire dans un fichier "filename.out". Bien sûr, vous gagnez le plus, si print
est une méthode de classe qui affiche toutes les informations spécifiques à l'objet dont vous avez besoin et vous pouvez ainsi diriger facilement la sortie vers différents flux.
La fonction 'print' que vous avez définie n'a presque aucun avantage. Vous pouvez tout aussi bien écrire 'cout <<" Imprimer ceci ";' pour votre premier exemple et 'filestream <<" Imprimer ceci ";" dans le deuxième exemple, sauf 'print' ajouter une logique supplémentaire (peut-être écrire un horodatage ou peut-être en écrivant à la sortie standard et un fichier), il n'y a aucun avantage à une telle fonction. –
bbtrb a écrit:
void print (string const str, ostream & sortie) { sortie < < str; }
Mieux que cela est bien sûr
ostream& output(ostream& out, string str) {out << str; return out;}
de sorte que vous pouvez même avoir le flux de sortie manipulé retourné par la fonction.
smerrimans réponse devrait vous aider.
Il est également possible d'implémenter votre propre streambuf et de l'utiliser avec std :: cout et std :: cerr pour stocker les impressions dans un fichier au lieu d'imprimer sur la console. Je l'ai fait il y a un certain temps pour rediriger les impressions vers des journaux rotatifs avec horodatage.
Vous aurez besoin de lire un peu sur la façon dont cela fonctionne et this book m'a aidé à bien faire les choses.
Si ce n'est pas ce que vous recherchez, c'est un peu exagéré.
- 1. Comment écrire la sortie de la console dans un fichier txt
- 2. sortie ou écrire dans un fichier xml?
- 3. Comment écrire une sortie au même endroit sur la console?
- 4. Écrire dans un fichier texte
- 5. La sortie de la console de redirection vers la zone de texte dans un programme distinct
- 6. comment compilateur hava javac écrire la sortie à la fois le fichier et la console?
- 7. Comment écrire sur la console dans fasm?
- 8. Comment vous enfoncez l'entrée et la sortie dans un fichier texte dans R?
- 9. C++ - string.compare les problèmes lorsque la sortie vers un fichier texte est différente de la sortie de la console?
- 10. Comment écrire dans la fenêtre de sortie dans Visual Studio?
- 11. Remplacer la console de sortie dans Xcode
- 12. comment écrire dans un fichier texte par programme C
- 13. Comment écrire une sortie de trace dans un fichier texte sans serveur Web dans AS3
- 14. Sortie de la console SharePoint
- 15. rails - sortie de la console Réorientation vers un fichier
- 16. Comment utiliser la sortie console dans un environnement ASP.NET?
- 17. Comment lire un fichier et écrire dans un fichier texte?
- 18. Imprimer la sortie dans un fichier texte sous Linux
- 19. comment diriger la sortie dans un fichier txt dans le script chauve-souris dans Windows
- 20. Écrire dans un fichier, où est le fichier de sortie?
- 21. écrire à un fichier texte dans php
- 22. Comment puis-je désactiver la majorité de la sortie de hbm2ddl dans la console dans Ant?
- 23. obtenir la sortie de la console
- 24. Outil Windows pour écrire la sortie socket dans le fichier
- 25. Comment afficher plus de décimales dans la console de sortie?
- 26. Affichage de la sortie de la console NUnit dans CruiseControl.NET
- 27. Comment compiler un fichier source .cpp dans un fichier .dll?
- 28. Écrire dans un fichier texte (PHP)
- 29. Comment écrire des données dans un fichier texte dans BlackBerry?
- 30. Fichier batch: stocke la sortie des lignes de commande sans écrire dans un fichier?
les données de la console de ce processus? votre propre processus? un autre processus que vous créez? – shoosh
Qu'est-ce que "les données de la console"? Comment ressemble votre approche actuelle? – Philipp
Toute personne recherchant une réponse recherche la réponse de user11977. C'est le bon. –