c语言 iostream,C语言 我应该在哪里使用iostream类?

正如我们在C中所知,我们有类iostream,它继承自istream(basic_istream)和ostream(basic_ostream).在您可以找到的每本C书中,使用iostream类对象,您可以读取和写入同一个流.但我真的没有看到任何解释或例子来理解为什么我应该使用这样一个奇怪的想法.我真的不知道为什么我需要写一些流而不是从它读取:(.

当我需要这样的建筑时,你能解释一下吗?我认为必须有使用这种结构的严重理由(不要忘记只有iostream声明我们使用虚拟继承和多重继承).

此外,当我尝试编写一个简单的代码,即使用fsteram(iostream的衍生物)时,我发现它不能正常工作,我期待它.这是我的代码:

#include

using namespace std;

int main()

{

fstream fstr("somefile.txt",fstream::in|fstream::out);//fstream is deriveted from iosteram

int n;

fstr>>n;//reading n (WORKS FINE !!!).

fstr.flush();

//trying to print Hello to the same file

fstr<

fstr.flush();

return 0;

}

所以你能告诉我为什么这段代码可以从文件中读取并且无法写入内容吗?

恢复:

请告诉我为什么我们需要类iosteram以及为什么isteram和ostream没有使用以及如何使用它.

谢谢,抱歉我的英语:).

附:可能这个问题是原始的,但请回答我.

编辑:我的代码现在正在运行.感谢Murka.

您可能希望读取和写入相同的流,因为流执行类型转换,如std :: stringstream.您还可以对允许读取和写入的数据源进行iostream抽象,例如套接字或内存缓冲区.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值