您的位置:首页 > 其它

C 如何将标准输出重定向到文件

2013-12-19 10:23 405 查看
stdin,stdout,stderr是常量,无法直接赋值?

FILE *fp;

stdin = fp


gcc x86编译无警告,运行正常。

android gcc(ARM-48) 编译报错

error: lvalue required as left operand of assignment
stdin = fp;
^


解决方法如下:

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

本文介绍如何将重定向标准输出到一个文件从 C 程序中,然后还原原始 stdout 稍后在同一个程序中。通常用于重定向标准输出或标准输入 C 函数是 freopen()。若要将标准输出重定向到名为文件的文件。TXT,使用以下调用:

freopen( "file.txt", "w", stdout );


此语句将导致所有后续的输出,它通常旨在向标准输出,转到该文件的文件。TXT 中。

若要返回到显示 (默认 stdout) 标准输出,请使用下面的调用:

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


在这两种情况下,请检查返回值的 freopen(),以确保重定向实际花费的地方。

下方是一个小的程序,以演示的标准输出重定向:

示例代码


// 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");
}


此程序会假定该标准输出是朝末尾的程序控制台重定向。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: