Salida de terminal de sobrecarga C/C++ a archivo txt

En las pruebas de programas C/C++, a veces es necesario generar e imprimir una gran cantidad de información del programa a través de la terminal, y guardar la información como un archivo de registro es más conveniente para la prueba y depuración del programa. Los siguientes dos métodos simples se registran para redirigir la información impresa al archivo

  1. En el sistema Linux, puede usar directamente el comando de terminal para redirigir la salida del programa a un archivo (recomendado)

./testOut2File > ./log.txt

En el comando anterior, ./testOut2File es un archivo ejecutable (puede ser seguido por los parámetros de la línea de comandos del programa), y ">" significa redirigir la salida al archivo ./log.txt

  1. Use la función freopen() y la función fclose() en el archivo de encabezado "cstdio"

#include <iostream>
#include <cstdio>

int main() {
    // 重定向标准输出到 output.log
    freopen("./log.txt", "w", stdout);

    std::cout << "Hello, World!" << std::endl;
    std::cout << "This is a test." << std::endl;

    // 关闭文件
    fclose(stdout);
    return 0;
}

Cabe señalar que fclose(stdout) debe usarse al final de la función principal para restaurar el flujo de salida, de lo contrario, el programa puede fallar.

Supongo que te gusta

Origin blog.csdn.net/weixin_44576482/article/details/128667501
Recomendado
Clasificación