Procedura di reindirizzamento stdout in un file da un programma Visual C/C++

Dichiarazione di non responsabilità per contenuto KB ritirato

Il contenuto di questo articolo è riferito a prodotti per cui Microsoft non offre più il supporto. Questo articolo viene pertanto offerto "così com'è" e non sarà più aggiornato.

Riepilogo

In questo articolo viene illustrato come reindirizzare stdout in un file da un programma C, quindi ripristinare il stdout originale in un secondo momento nello stesso programma. La funzione C, in genere utilizzata per reindirizzare stdout o stdin è freopen(). Per reindirizzare un file denominato FILE stdout. TXT, utilizzare la seguente chiamata:
   freopen( "file.txt", "w", stdout ); 
Questa istruzione fa sì che tutti gli output successivi, che tipicamente andrebbero in stdout, vengano diretti al file di FILE.txt. TXT.

Per ripristinare la visualizzazione (stdout predefinito) stdout, utilizzare la seguente chiamata:
   freopen( "CON", "w", stdout ); 
In entrambi i casi, controllare il valore restituito da freopen() per assicurarsi che il reindirizzamento ha effettivamente avuto luogo.

Di seguito è riportato un breve programma per illustrare il reindirizzamento di stdout:

Codice di esempio

// Compile options needed: none
#include <stdio.h>
#include <stdlib.h>

void main(void)
{
FILE *stream ;
if((stream = freopen("file.txt", "w", stdout)) == NULL)
exit(-1);

printf("this is stdout output\n");

stream = freopen("CON", "w", stdout);

printf("And now back to the console once again\n");
}
Questo programma si presuppone che stdout per essere reindirizzato verso la console alla fine del programma.
Proprietà

ID articolo: 58667 - Ultima revisione: 30 gen 2017 - Revisione: 1

Feedback