关于c++字符串流的问题

SJ2050 2018-03-31 12:22:57
#include <iostream>
#include<sstream>
#include <string>

using namespace std;

int main()
{
int b;
string s = "45";
istringstream is(s);

is >> b;
string de{ "123A9.2" };
is.str(de);
int i;
char c;
double d;

is >> i >> c >> d;
cout << i << " " << c << " " << d << endl;
system("pause");
return 0;
}

最后字符串流怎么再回到流开头,我用is.seekg(0)不行啊,偏移量一直是-1,求解
...全文
778 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
AlbertS 2018-04-04
  • 打赏
  • 举报
回复
引用 1 楼 jianwen0529 的回复:
C++98如果eof被置位,这个函数调用会失败。C++11的话则会清除eof位 在这个操作之前先clear下试试 http://www.cplusplus.com/reference/istream/istream/seekg/
mark
百合杰 2018-04-03
  • 打赏
  • 举报
回复
引用 2 楼 sj2050 的回复:
谢谢,解决了,但我想不通我用的是VS2017,它不支持c++11吗
都可以支持到c++14了。。
SJ2050 2018-03-31
  • 打赏
  • 举报
回复
谢谢,解决了,但我想不通我用的是VS2017,它不支持c++11吗
幻夢之葉 2018-03-31
  • 打赏
  • 举报
回复
C++98如果eof被置位,这个函数调用会失败。C++11的话则会清除eof位

在这个操作之前先clear下试试
http://www.cplusplus.com/reference/istream/istream/seekg/
C++编程思想 第二版 第二卷 中文 本书介绍C++实用的编程技术和最佳的实践方法,深入探究了异常处理方法和异常安全设计;介绍C++字符串、输入输出、STL算法、容器和模板的现代用法,包括模板元编程;解释多重继承问题的难点,展示RTTI的实际使用,描述了典型的设计模式及其实现,特别介绍被认为是标准C++下一版特征之一的多线程处理编程技术,并提供了最新的研究成果。本书适合作为高等院校计算机及相关专业的本科生、研究生的教材,也可供从事软件开发的研究人员和科技工作者参考   出版者的话   专家指导委员会   译者序   前言   第一部分 建立稳定的系统   第1章 异常处理    1.1 传统的错误处理    1.2 抛出异常    1.3 捕获异常    1.3.1 try块    1.3.2 异常处理器    1.3.3 终止和恢复    1.4 异常匹配    1.4.1 捕获所有异常    1.4.2 重新抛出异常    1.4.3 不捕获异常    1.5 清理    1.5.1 资源管理    1.5.2 使所有事物都成为对象    1.5.3 auto_ptr    1.5.4 函数级的try块    1.6 标准异常    1.7 异常规格说明    1.7.1 更好的异常规格说明    1.7.2 异常规格说明和继承    1.7.3 什么时候不使用异常规格说明    1.8 异常安全    1.9 在编程中使用异常    1.9.1 什么时候避免异常    1.9.2 异常的典型应用    1.10 使用异常造成的开销    1.11 小结    1.12 练习    第2章 防御性编程    2.1 断言    2.2 一个简单的单元测试框架    2.2.1 自动测试    2.2.2 TestSuite框架    2.2.3 测试套件    2.2.4 测试框架的源代码    2.3 调试技术    2.3.1 用于代码跟踪的宏    2.3.2 跟踪文件    2.3.3 发现内存泄漏    2.4 小结    2.5 练习    第二部分 标准C++库   第3章 深入理解字符串    3.1 字符串的内部是什么    3.2 创建并初始化C++字符串    3.3 对字符串进行操作    3.3.1 追加、插入和连接字符串    3.3.2 替换字符串中的字符    3.3.3 使用非成员重载运算符连接    3.4 字符串的查找    3.4.1 反向查找    3.4.2 查找一组字符第1次或最后一次出现的位置    3.4.3 从字符串中删除字符    3.4.4 字符串的比较    3.4.5 字符串和字符的特性    3.5 字符串的应用    3.6 小结    3.7 练习    第4章 输入输出    4.1 为什么引入输入输出    4.2 救助输入输出    4.2.1 插入符和提取符    4.2.2 通常用法    4.2.3 按行输入    4.3 处理错误    4.4 文件输入输出    4.4.1 一个文件处理的例子    4.4.2 打开模式    4.5 输入输出缓冲    4.6 在输入输出中定位    4.7 字符串输入输出    4.7.1 输入字符串    4.7.2 输出字符串    4.8 输出的格式化    4.8.1 格式化标志    4.8.2 格式化域    4.8.3 宽度、填充和精度设置    4.8.4 一个完整的例子    4.9 操纵算子    4.9.1 带参数的操纵算子    4.9.2 创建操纵算子    4.9.3 效用算子    4.10 输入输出程序举例    4.10.1 维护类库的源代码    4.10.2 检测编译器错误    4.10.3 一个简单的数据记录器    4.11 国际化    4.11.1 宽字符    4.11.2 区域性字符    4.12 小结    4.13 练习    第5章 深入理解模板    第6章 通用算法    第7章 通用容器    第三部分 专题   第8章 运行时类型识别    第9章 多重继承    第10章 设计模式    第11章 并发    附录   附录A 推荐读物    附录B 其他    索引

64,637

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧