C++ 文件输入输出问题

<span style="font-size:24px;">//此函数 唯一形参跟返回值都是istream类型。该函数应该一直读取直到文件结束为止,还应该将读取内容输出到标准输出,最后,重新设置流使其有效,并返回流。</span>
istream& get(istream& in)
{

   int val;
   while(in>>val,!in.eof())
   {
         if(in.bad())
		 throw std::runtime_error("IO stream corrupted");
        if(in.fail())
		{
		    cerr<<"bad data!!!try again"<<endl;
			in.clear();
			in.ignore(200,'\n');
			continue;
		}
		cout<<val<<" "<<endl;
		
   }
   in.clear();
   
   return in;

}

//ifstream继承istream   其对象可以作为上面函数的参数   

//注意:IO标准库使用C风格字符串  调用open或者使用文件名做初始化式,需要传递的实参应为C风格字符串,而不是标准库string对象。

//下面的代码  路径必须采用双斜杠    

//斜杠\是保留符号,所以要正确编译的话需要两个斜杠\\
//在代码中显示写出双斜杠 不写出出错  

法1:

ifstream inFile;
  inFile.open("E:\\Codes\\stream.txt");    // 可使用 open  或者 ifstream inFile(<span style="font-family: Arial, Helvetica, sans-serif;">"E:\\Codes\\stream.txt"</span>);

  if(!inFile)
  {
	  cerr<<"error:can not open the file"<<endl;
  }

  get(inFile);
<img src="data:image/png;base64,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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值