Estoy intentando escribir datos de consola en un archivo de texto separado en cpp. Alguien me ayude con el código de muestra.¿Cómo escribir la salida de la consola en un archivo de texto en cpp?
Respuesta
Existen varias formas de hacerlo. Puede redirigirlo desde la línea de comando con programname > out.txt
. O puede usar freopen("out.txt","w",stdout);
al comienzo de su programa.
Esto estaba funcionando bien para mí. Pero de repente las salidas de la consola cmd eran completamente invisibles. Cuando eliminé esta línea, las salidas de cmd eran visibles atrás –
Si desea crear un proceso hijo y redirigir su salida se podría hacer algo como esto:
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);
}
solo relevante con pthreads ... – shoosh
Si desea escribir de su propio proceso, me gustaría sugerir un método de impresión sencilla
void print(const string str, ostream & output)
{
output << str;
}
a continuación, puede llamar
print("Print this", cout);
para la salida de la consola, o
ofstream filestream("filename.out");
print("Print this", filestream);
para escribir en un archivo "filename.out". Por supuesto, usted gana más, si print
es un método de clase que genera toda la información específica del objeto que necesita y de esta manera puede dirigir la salida fácilmente a diferentes flujos.
La función 'print' que ha definido casi no tiene ningún beneficio. También puede escribir 'cout <<" Imprimir esto ";' para su primer ejemplo y 'filestream <<" Imprimir esto ";" en el segundo ejemplo. A menos que 'print' agregue algo de lógica extra (tal vez escribiendo una marca de tiempo o quizás escribiendo en una salida estándar y un archivo), no hay beneficio para tal función. –
bbtrb escribió:
impresión de vacío (const cadena str, ostream & salida) { salida < < str; }
Mejor que esto es por supuesto
ostream& output(ostream& out, string str) {out << str; return out;}
de modo que usted puede incluso tener la corriente de salida manipulada devuelto por la función.
smerrimans respuesta debería ayudarlo.
También existe la opción de implementar su propio streambuf y usarlo con std :: cout y std :: cerr para almacenar las copias en el archivo en lugar de imprimir en la consola. Lo hice hace un tiempo para redirigir las impresiones a algún tipo de registros rotativos con marcas de tiempo.
Necesitará leer un poco sobre cómo funciona y this book me ayudó a hacerlo bien.
Si eso no es lo que buscas, es un poco exagerado.
- 1. Cómo escribir la salida de la consola en un archivo txt
- 2. ¿Cómo escribir la salida de AUGraph en un archivo?
- 3. Cómo redirigir la salida de la consola a un archivo de texto
- 4. PowerShell: envíe la salida de la consola al archivo sin ensordecer esta salida de la consola
- 5. Exportar eclipse consola ver salida en archivo de texto
- 6. ¿Cómo escribir en la consola en fasm?
- 7. rieles - Reorientación de salida de la consola a un archivo
- 8. Registrar la salida Unittest en un archivo de texto
- 9. C++ cambio de salida en la consola
- 10. La mejor manera de escribir en la consola en PowerShell
- 11. ¿Cómo suprimir la salida de la consola en Python?
- 12. Cómo capturar la salida de consola de un servicio C#?
- 13. Cómo filtrar la salida de la consola en Xcode
- 14. ¿Cómo canalizo la salida de la consola Java a un archivo?
- 15. Escribir cadena en la secuencia de salida
- 16. ¿Linux anexa la salida de la consola a un archivo de registro?
- 17. Ver la salida de la consola eliminada
- 18. Salida de la consola Java - Archivo Y a la consola AMBOS
- 19. Cómo escribir en la consola en una aplicación GUI
- 20. Salida de la consola MATLAB
- 21. La forma más fácil de filtrar el texto de la salida de la consola Eclipse
- 22. ¿Cómo escribir una matriz multidimensional en un archivo de texto?
- 23. Redirige la salida de la consola al cuadro de texto en el programa separado
- 24. Cómo guardar la salida de una aplicación de consola
- 25. ¿Cómo podría leer la salida de la consola Java en un buffer String?
- 26. Superíndice en la salida de la consola C++
- 27. ¿Cómo escribir eficientemente un archivo de texto grande en C#?
- 28. ¿Cómo puedo escribir una salida de color rápida a la consola?
- 29. El filtrado de la salida de la consola en Eclipse
- 30. Visualización de la salida de la consola NUnit en CruiseControl.NET
¿datos de la consola de qué proceso? tu propio proceso? algún otro proceso que crees? – shoosh
¿Qué es "datos de consola"? ¿Cómo se ve tu enfoque actual? – Philipp
Cualquiera que busque una respuesta, busque la respuesta del usuario11977. Es el correcto. –