Jak stdout přesměrovat do souboru z programu Visual C/C++

Prohlášení o odmítnutí odpovědnosti pro už nepodporovaný obsah KB

Tento článek byl napsán pro produkty, ke kterým již Microsoft nadále nenabízí podporu. Článek je tedy poskytován „tak, jak je“ a nebude už nadále aktualizován.

Souhrn

Tento článek vysvětluje, jak stdout přesměrovat do souboru z programu C a pak obnovit původní stdout a později ve stejném programu. C funkce, které obvykle slouží k přesměrování stdout nebo stdin je freopen(). Stdout přesměrovat do souboru s názvem souboru. TXT, použijte následující volání:
   freopen( "file.txt", "w", stdout ); 
Tento příkaz způsobí, že všechny následující výstup, který je obvykle zaměřena na stdout, přejděte do souboru s PŘÍPONOU. TXT.

Stdout obnovíte zobrazení (výchozí stdout), použijte následující volání:
   freopen( "CON", "w", stdout ); 
V obou případech zkontrolujte vrácená hodnota freopen() a ujistěte se, že přesměrování skutečně došlo.

Níže je krátký program přesměrování stdout prokázat:

Ukázkový kód

// 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");
}
Tento program předpokládá, že tento stdout je přesměrování směrem ke konzole na konci programu.
Vlastnosti

ID článku: 58667 - Poslední kontrola: 16. 1. 2017 - Revize: 1

Váš názor