我需要将标准输出转发到不同的文件,以分离产生的一些打印件并恢复到正常的标准输出。
我freopen
以前是这样切换到文件的:
char name[80];
memset(name, 0, 80);
strcpy(name, "./scripts/asm/");
strcat(name, m_func->m_name->m_value);
strcat(name, ".shasm");
freopen(name, "w", stdout);
它确实有效,但在过程结束时(注意标准输出以以前相同的方式多次重定向)我无法将其恢复为原始标准输出。我尝试了以下方法:
freopen("/dev/stdout", "w", stdout);
但它似乎不起作用..只是为了我在macosx上开发的信息。
我该怎么办?
提前致谢