io流
来源:互联网 发布:阿里云注册会员名 编辑:程序博客网 时间:2024/06/01 10:22
//此程序的结果:1.若传入的实参是ifstream或istringstream的对象,则无法输出最后一个单词,原因在于while语句的循环条件,用的是逗号语句,当最后一个词输入完毕,is这个对象里面已经空了,while循环的条件就不成立了,直接跳出循环
//将逗号改成或是可以的。2.若传入的是cin,则可以全部输出,不会多输出最后一个词一遍。但若将逗号改成或,则会IO操作失败。
istream& read_stream(istream& is)
{
string str;
while (is>>str,is.eof())//对于逗号运算符来说,首先对左侧的表达式求值,然后将求值结果丢弃掉。逗号运算符真正的结果是右侧表达式的值
{
if(is.bad())
{
throw runtime_error("IO流错误");
}
if (is.fail())
{
cerr<<"the data eror,please try again";
}
cout << str << endl;
}
is.clear();
return is;
}
int main(int argc,char* argv[])
{
ostringstream msg;
msg << "hello";
/*string s = "you are my sunshine";*/
//cout << msg.str() << endl;
istringstream ist(msg.str());
read_stream(cin);
system("pause");
return 0;
}
////该程序的结果:1.若传入的实参是ifstream或istringstream的对象,则会输出所有的单词。
////2.若传入的实参是标准输入cin这个对象,按下输入结束符后,会再输出一遍最后输入的那个单词。
istream& read_stream(istream& is)
{
string str;
while (!is.eof())
{
is >> str;
cout << is.eof() << endl;
cout << str << endl;
}
is.clear();
return is;
}
int main()
{
/*ifstream fs("data.txt");
read_stream(fs);*/
read_stream(cin);
system("pause");
return 0;
}
//将逗号改成或是可以的。2.若传入的是cin,则可以全部输出,不会多输出最后一个词一遍。但若将逗号改成或,则会IO操作失败。
istream& read_stream(istream& is)
{
string str;
while (is>>str,is.eof())//对于逗号运算符来说,首先对左侧的表达式求值,然后将求值结果丢弃掉。逗号运算符真正的结果是右侧表达式的值
{
if(is.bad())
{
throw runtime_error("IO流错误");
}
if (is.fail())
{
cerr<<"the data eror,please try again";
}
cout << str << endl;
}
is.clear();
return is;
}
int main(int argc,char* argv[])
{
ostringstream msg;
msg << "hello";
/*string s = "you are my sunshine";*/
//cout << msg.str() << endl;
istringstream ist(msg.str());
read_stream(cin);
system("pause");
return 0;
}
////该程序的结果:1.若传入的实参是ifstream或istringstream的对象,则会输出所有的单词。
////2.若传入的实参是标准输入cin这个对象,按下输入结束符后,会再输出一遍最后输入的那个单词。
istream& read_stream(istream& is)
{
string str;
while (!is.eof())
{
is >> str;
cout << is.eof() << endl;
cout << str << endl;
}
is.clear();
return is;
}
int main()
{
/*ifstream fs("data.txt");
read_stream(fs);*/
read_stream(cin);
system("pause");
return 0;
}
阅读全文
0 0
- 【IO流】IO框架
- IO流呀IO流
- 字符IO&数据流IO&对象流IO
- io流
- io流
- IO流
- IO流
- IO 流
- IO流
- io流
- IO流
- io流
- IO流
- IO流
- IO流
- IO流
- IO流
- IO流
- build.gradle导入com.android.support:percent 的依赖错误
- 虚拟机 Centos 7安装Zookeeper集群注意事项
- Mybatis Interceptor 拦截器原理 源码分析
- Android使用XML文件绘图(Shape,Layer,Selector)
- 架构师日记——手写利用HTTP协议远程模块调用
- io流
- 数据分析及机器学习环境配置(docker极简入门指南)
- editPlus使用技巧
- 饿了么项目---1、vue-cli快速构建项目(包括兼容老项目时需引入bootstrap、jquery的方法)
- 引导页面
- hdu4513_吉哥系列故事——完美队形II
- 人工智能
- 写在前面 程序员 迷茫且坚定地向前走着(一)
- android 频道管理的实现