如何将标准输出到文件重定向从 Visual C/c + + 程序

重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。

点击这里察看该文章的英文版: 58667
不再更新的 KB 内容免责声明
本文介绍那些 Microsoft 不再提供支持的产品。因此本文按“原样”提供,并且不再更新。
概要
本文介绍了如何将重定向标准输出到一个文件从 C 程序,然后还原原始 stdout 稍后在同一个程序中。通常用于重定向标准输出或标准输入的 C 函数是 freopen()。若要将标准输出重定向到名为FILE的文件TXT,使用以下调用 ︰
   freopen( "file.txt", "w", stdout );
此语句将导致所有后续的输出,通常旨在向标准输出,转到该文件的文件。TXT 中。

若要返回到显示 (默认 stdout) 标准输出,请使用下面的调用 ︰
   freopen( "CON", "w", stdout );
在这两种情况下,请检查freopen()的返回值,以确保重定向成功。

下面是 stdout 的一个小程序来演示重定向 ︰

示例代码

// 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");}
此程序会假定该标准输出是朝末尾的程序控制台重定向。

警告:本文已自动翻译

属性

文章 ID:58667 - 上次审阅时间:06/12/2016 10:14:00 - 修订版本: 6.0

  • kbhowto kbmt KB58667 KbMtzh
反馈