在C和C++中把标准输出重定向到指定文件
来源:互联网 发布:蓝天windows一键重装 编辑:程序博客网 时间:2024/04/29 04:42
C++的实现
#include<fstream>
#include <iostream>
using namespace std;
int main()
{
ofstream logTest("foo.log");
streambuf *oldbuf = cout.rdbuf(logTest.rdbuf());
cout << "输出到标准输出,但实际输出到了foo.log文件中/n";
logTest << "输出到文件,虽然将cout重定向到了log,但不影响log本身的使用/n";
// 恢复流缓冲区
cout.rdbuf(oldbuf);
cout << "输出到标准输出/n";
getchar();
}
C的实现
#include <ios>
#include <iostream>
#include <fstream>
//若使用包含.h文件方式则编译报错
using namespace std;
void main()
{
ofstream ofs("e://a.txt");
streambuf *osb = cout.rdbuf(ofs.rdbuf());
cout << "to file" << endl;
cout.rdbuf(osb);
cout << "to term" << endl;
}
啊,这样对于实现来说可能不是很妥,改成手动刷新缓冲才有应用价值
#include <stdio.h>
#include <string.h>
void main()
{
FILE old_stdout;
FILE *fp = fopen("e://a.txt", "w");
memcpy(&old_stdout, &_iob[1], sizeof(FILE));
memcpy(&_iob[1], fp, sizeof(FILE));
/*call any functions..*/
printf("to file");
/**/
/*把缓冲刷新到文件*/
fflush(stdout);
memcpy(&_iob[1], &old_stdout, sizeof(FILE));
printf("to term");
fclose(fp);
}
- 在C和C++中把标准输出重定向到指定文件
- 在C和C++中把标准输出重定向到指定文件
- C 如何将标准输出重定向到文件
- linux下重定向,把标准输出和错误输出一起同定向到文件
- command > filename 2>&1 把标准输出和标准错误一起重定向到一个文件中
- DOS命令行下如何把标准错误和标准输出重定向到同一个文件
- 如何将标准输出到一个文件重定向从 Visual C/c + + 程序
- C语言如何使标准输出重定向到一个文件
- Linux重定向:将标准输出stdout和标准错误stderr重定向到一个文件
- python同时标准输出和重定向到文件保存
- 在python中如何重定向标准输出stdout到文件代码示例
- c语言标准输入输出重定向到不同文件
- Redirect stdio in Java and C, 在Java和C代码中重定向输出。
- C标准重定向
- 将Linux 标准输出,错误输出重定向到文件
- 重定向标准输出错误输出到编辑控件中!
- c 输出重定向
- printf输出重定向到文件中
- MongoDB 学习笔记
- [转载]Qt 软键盘[模拟]之键盘触发事件
- java平台下通过jacob对excel,word进行打印等操作
- 关于JS特殊字符的校验
- Sample_Character源码简析
- 在C和C++中把标准输出重定向到指定文件
- webservice学习之使用拦截器
- 我坚信,我坚持,所以我等待
- Android入门开发视频下载地址集
- 简单算法--将一个整型数字逆转
- linux中安装tomcat,在Windows中无法访问[解决]
- pthread_join函数及linux线程
- intent几种传值数组、对象、集合(Array,Object,List)
- INSERT INTO SELECT和SELECT INTO两种表复制语句