首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

怎么获取标准异常并重定向到文本文件

2012-03-22 
如何获取标准错误并重定向到文本文件如题:不使用.exe2 .txt的方法而是在程序中实现请大家帮忙谢谢[解决办

如何获取标准错误并重定向到文本文件
如题:   不使用.exe   2> .txt的方法
              而是在程序中实现   请大家帮忙     谢谢

[解决办法]
C语言使用 freopen ...
[解决办法]

比如我在程序中调用system( "mkdir folder ")
会显示文件夹已经存在这条错误
如何在程序中重定向到文本文件
-------------------------------------------
这是system()函数的原因,在system()函数中,他它先fork一个新进程,并重新定义了它的
stdin,stdout,stderr.
调用system()是为了实现可以执行其他的程序的功能,可以这样:
if(vfork()==0)//vfork()共享父进程的资源.
execl( "mkdir ", "folder ");
你试一下看是否好使.

[解决办法]
//使用freopen

#include <stdio.h>
#include <stdlib.h>

FILE *stream;

void main( void )
{
/* Reassign "stderr " to "freopen.out ": */
stream = freopen( "freopen.out ", "w ", stderr );

if( stream == NULL )
fprintf( stdout, "error on freopen\n " );
else
{
fprintf( stream, "This will go to the file 'freopen.out '\n " );
fprintf( stdout, "successfully reassigned\n " );
fclose( stream );
}
system( "type freopen.out " );
}

[解决办法]
freopen(你要存放的文件 ", "w ",stderr);
你的函数

热点排行