| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 501 人关注过本帖
标题:关于文件流与文件的捆绑问题
只看楼主 加入收藏
panxiang88
Rank: 1
等 级:新手上路
帖 子:33
专家分:0
注 册:2007-7-21
收藏
 问题点数:0 回复次数:2 
关于文件流与文件的捆绑问题

main()
{
ofstream file_wrt("try");
string text;
cin>>text;
file_wrt<<text;
if(file_wrt.good())
cout<<"good!"<<endl;
//file_wrt.close();
ifstream file_read;
file_read.open("try");
string test;
file_read>>test;
cout<<test<<endl;
}

请问,为什么输出test为空呢?如果把注释去掉,即将file_wrt关掉,就可以了,是不是一个文件不能同时被两个流捆绑?如果是的话,为什么file_read.good()会是true呢?

搜索更多相关主题的帖子: 文件 捆绑 
2007-09-02 01:05
天使梦魔
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:37
帖 子:564
专家分:2754
注 册:2007-8-29
收藏
得分:0 

.good()是什么不太清楚。
本来就是真啊。
一有数据流进去就是true了,你前面又不没有其他条件设置,只是单纯的输入,当然是真了

2007-09-02 08:09
wfpb
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:2188
专家分:0
注 册:2006-4-2
收藏
得分:0 
那是因为你的file_wrt&lt;&lt;text;只是将text放入流缓冲区,只有将流刷新,flush();才能调用Win32 API函数WriteFile将数据写到硬盘上.当然,在关闭流的时候close函数也会调用freebuf和flush函数将数据写入硬盘,并释放流缓冲区.

[glow=255,red,2]wfpb的部落格[/glow] 学习成为生活的重要组成部分!
2007-09-02 17:54
快速回复:关于文件流与文件的捆绑问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020963 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved