如何获取标准错误并重定向到文本文件
如题: 不使用.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);
你的函数