DOMANDA C++| Creare Console e file output in Win32 application

Pubblicità

Marcus Aseth

Utente Attivo
Messaggi
408
Reazioni
138
Punteggio
60
Salve gente, ho un piccolo problema, codice sotto:

Codice:
    #include <Windows.h>
    #include <stdio.h>
int WINAPI WinMain(HINSTANCE instance, HINSTANCE prevInstance, LPSTR cmdLine, int cmdShow)
{
    FILE* stream;
    //Create Console
    AllocConsole();
    SetConsoleTitle(TEXT("Debug"));
    freopen_s(&stream, "conin$", "r", stdin);
    freopen_s(&stream, "conout$", "w", stdout); //output on console
    freopen_s(&stream, "conout$", "w", stderr);
    freopen_s(&stream, "log.txt", "w", stdout); //output on file
    std::cout << "test" << std::endl;

//...etc...il resto dell'app...
}
    //------------

Il codice sopra crea una console così da avere un modo semplice per vedere i numeri che la mia app sta "sputando", quando costruttori e distruttori sono chiamati, errori etc...
La riga commentata come "//output on file" salva i vari std::cout in "log.txt" però se ho quella riga lì, allora la riga commentata come "//output on console" diventa inutile perchè dal poco che penso di aver capito, in sostanza sto reindirizzando i vari std::cout nel file .

Quello che vorrei ottenere sarebbe avere entrambi, sia l'output nella console per vedere i numeri in tempo reale che l'output salvato su "log.txt" per andare dopo a controllare che tutti i vari destructor abbiano fatto il loro lavoro alla chiusura del programma.

Qualche idea su come fare? :D
 
Ma se uso quello significa che ogni volta devo specificare il formato delle variabili con %f e simili? Se è il caso, non è il tipo di soluzione che sto cercando, deve funzionare con codice come std::cout << "test" << std::endl; e simile
Se invece si può, potresti mostrarmi un esempio del come? :P
 
Pubblicità
Pubblicità
Indietro
Top