问一个C++中,cout<<输出重定向的问题:如何不去覆盖原文件数据? 20

默认情况下,cout输出到标准输出(也就是屏幕),cin从标准输入(键盘)输入,cerr通常和cout一样,输出到屏幕,可以将其重定向到文件、串口或者其他,示例代码如下:... 默认情况下,cout输出到标准输出(也就是屏幕),cin从标准输入(键盘)输入,cerr通常和cout一样,输出到屏幕,可以将其重定向到文件、串口或者其他,示例代码如下:

int main()
{
streambuf *buf = cout.rdbuf ();//备份原来的输出,即标准输出
ofstream outfile;
outfile.open ("C:/a.txt");
cout.rdbuf(outfile.rdbuf());
cout<<"Hello World!\t\nHi~"<<endl;
cout.rdbuf(buf);
cout<<"Hello World!\t\nHi~"<<endl;
return 0;
}

问题的关键是:这样运行程序会使输出的数据将文件中原来的数据覆盖,怎么改才能将新输出的数据直接添加到文件尾??
或者有没有比较好的方法,将屏幕输出的数据同时写入文件,注意不要覆盖原数据。
展开
 我来答
小采馆5184
2010-12-23 · 超过37用户采纳过TA的回答
知道答主
回答量:102
采纳率:0%
帮助的人:97.3万
展开全部
以追加的方式打开那个文件
outfile.open("c:/a.txt",ios::app);
ucefj63
2010-12-24 · TA获得超过207个赞
知道答主
回答量:287
采纳率:100%
帮助的人:242万
展开全部
抱歉!这个问题不懂哦,请再加油吧!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式