当前课程知识点:C++语言程序设计进阶 >  第十一章 流类库与输入/输出 >  输入流 >  从字符串输入

返回《C++语言程序设计进阶》慕课在线视频课程列表

从字符串输入在线视频

从字符串输入

从字符串输入

将字符串作为文本输入流的源,可以将字符串转换为其他数据类型

字符串输入流( istringstream)

例11-12用istringstream将字符串转换为数值

//11_12.cpp, 头部分省略
template <class T>
inline T fromString(const string &str) {
    istringstream is(str);  //创建字符串输入流
    T v;
    is >> v;    //从字符串输入流中读取变量v
    return v;   //返回变量v
}

int main() {
    int v1 = fromString<int>("5");
    cout << v1 << endl;
    double v2 = fromString<double>("1.2");
    cout << v2 << endl;
    return 0;
}
输出结果:
5
1.2



下一节:输入/输出流

返回《C++语言程序设计进阶》慕课在线视频列表

从字符串输入课程教案、知识点、字幕

大家好

欢迎继续学习C++语言程序设计

接下来的这一节我们来学习

如何从字符串中输入

我们以字符串

作为输入数据的来源

使用字符串输入流

就可以将字符串里面的

这些字符类型的数据

转换成其他类型的数据

听起来是不是很奇妙呢

我们来看看

到底怎么样实现这种转换

要用字符串输入流

从字符串中读取数据

那么我们要在构造函数中

设置要读取的字符串

也就是说在构造函数中

要把字符串作为初始化值

放在里面

然后 由于这个字符串输入流

它支持istringstream类里面

除了open close以外的所有操作

所以我们就可以用通常的

流提取操作

以及其他的相关函数

从字符串流中读取信息

那么读出来以后

当然是作为

可能是作为其他类型的数值

来使用

这样就达到了将字符串

转换为别的类型

比如说数值类型

这样的目的

其实将字符串转换为数值

正是字符串输入流的

一个典型应用

接下来我们就看这个例子

在这个例子中

我们利用isstringsteam

将字符串转化为数值类型

这个程序呢

通过使用字符串输入流对象

可以将一个字符串转换成

数值型的数据

我们先看一下主函数里面

它执行的操作以及输出的结果

主函数中呢

我们使用fromString

这个函数模板

等会我们再看

这个函数模板的编写

使用这个函数模板

指定它的模板参数为int

这个时候呢

给它一个字符串作参数

它就将这个字符串

转换成一个int数据返回

然后我们将返回值

送到显示器上

显示验证一下

得到这个5

接下来再一次使用fromString

这个函数模板

指定模板参数是double类型

这时候给它一个字符串1.2

它就将这个字符串

转换成double类型的数据 返回

然后我们也是将返回数据

输出验证一下

现在我们来看这个fromString

函数模板

是怎么样实现这个转换的

它的参数就是一个字符串

就是需要转换的这个字符串

而返回值类型呢

是这个T类型

就是转换结果的类型

它是用类型参数来标记的

使用的时候呢

指定这回要转换的结果

是什么类型

比如我们第一次是int类型

第二次调用它

需要转换成是double类型

这样我们用类型参数的方式

指定

再看这个函数体中呢

首先要构造一个

isstringsteam对象

用参数字符串作为参数

去构造这个对象

也就是说这个时候

is这个对象里面

就包含了一个字符串

好 那么接下来定义一个

T类型的对象V

准备着用来接收转换的返回值

现在呢

就通过这个is对象和提取操作符

从这个输入的字符串流对象中

给它提取

也就是说

这个字符串输入流对象里面

实际上它含有了一个

待转换的字符串

我们用is去调用

提取运算符的话

就是从is这个对象里面去读取

读取的数据放到哪儿呢

放到T类型的变量v里面

这个过程实际上就是一个

格式转换的过程

就好像我们从文本文件

从键盘读一个字符串

读进来的时候呢

我们是把它读到一个

比如说int变量 double变量里面

这个效果是一样的

只不过呢

这回读取的来源

不是程序空间之外的某个文件

而是程序空间里面的一个字符串

然后最后呢

将我们转换结果这个字符串呢

作为返回值返回

这样的话呢

我们看到

就通过这个字符串流

就达到了将字符串

转换为数值型数据

当然我们也可以将字符串

转换成其他类型的数据

如果需要的话

C++语言程序设计进阶课程列表:

第七章 继承与派生

-导学

--导学

-继承的基本概念和语法

--继承的基本概念和语法

-第七章 继承与派生--继承的基本概念和语法习题

-继承方式

--继承方式简介及公有继承

--私有继承和保护继承

-第七章 继承与派生--继承方式

-基类与派生类类型转换

--基类与派生类类型转换

-第七章 继承与派生--基类与派生类类型转换

-派生类的构造和析构

--派生类的构造函数

--派生类的构造函数举例

--派生类的复制构造函数

--派生类的析构函数

--第七章 继承与派生--派生类的构造和析构

-派生类成员的标识与访问

--访问从基类继承的成员

--虚基类

-第七章 继承与派生--派生类成员的标识与访问

-小结

--小结

-综合实例

--第七章综合实例

-实验七

--实验七

-第七章讲义

第八章 多态性

-导学

--导学

-第八章 多态性--导学

-运算符重载

--运算符重载的规则

--双目运算符重载为成员函数

--单目运算符重载为成员函数

--运算符重载为非成员函数

-第八章 多态性--运算符重载

-虚函数

--虚函数

--虚析构函数

--虚表与动态绑定

-第八章 多态性--虚函数

-抽象类

--抽象类

--第八章 多态性--抽象类

-override与final

--override与final

-第八章 多态性--override与final

-小结

--第八章小结

-综合实例

--第八章综合实例

-实验八

--实验八

- 第八章讲义

第九章 模板与群体数据

-导学

--导学

-模板

--函数模板

--类模板

-第九章 模板与群体数据--模板

-线性群体

--线性群体的概念

-第九章 模板与群体数据--线性群体

-数组

--数组类模板

--例9-4数组类应用举例

-链表

--链表的概念与结点类模板

--链表类模板

-第九章 模板与群体数据--链表

-栈

--栈类模板

--栈类模板课后习题

--例9-9 栈的应用

--例9-9 栈的应用课后习题

-队列

--队列类模板

-第九章 模板与群体数据--队列

-排序

--排序概述

--插入排序

--选择排序

--交换排序

-第九章 模板与群体数据--排序

-查找

--查找

--查找课后习题

-小结

--小结

-综合实例

--综合实例

-实验九

--实验九

- 第九章讲义

第十章 泛型程序设计与C++标准模板库

-导学

--导学

-泛型程序设计及STL的结构

--泛型程序设计的基本概念

--STL简介

-第十章 泛型程序设计与C++标准模板库--泛型程序设计及STL的结构

-迭代器

--迭代器

-第十章 泛型程序设计与C++标准模板库--迭代器

-容器的基本功能与分类

--容器的基本功能与分类

-第十章 泛型程序设计与C++标准模板库--容器的基本功能与分类

-顺序容器

--顺序容器的基本功能

--顺序容器的特征

--顺序容器的插入迭代器与适配器

--第十章 泛型程序设计与C++标准模板库--顺序容器

-关联容器

--关联容器分类和基本功能

--集合

--映射

--多重集合和多重映射

-第十章 泛型程序设计与C++标准模板库--关联容器

-函数对象

--函数对象

--函数适配器

-算法

--算法

-小结

--第十章小结

-综合实例

--综合实例

-实验十

--实验十

- 第十章讲义

第十一章 流类库与输入/输出

-导学

--导学

-I/O流的概念及流类库结构

--I/O流的概念及流类库结构

-第十一章 流类库与输入/输出--I/O流的概念及流类库结构

-输出流

--输出流概述

--向文本文件输出

--向二进制文件输出

--向字符串输出

-第十一章 流类库与输入/输出--输出流

-输入流

--输入流概述

--输入流应用举例

--从字符串输入

-第十一章 流类库与输入/输出--输入流

-输入/输出流

--输入/输出流

-第十一章 流类库与输入/输出--输入/输出流

-小结

--小结

-综合实例

--综合实例

-实验十一

--实验十一

- 第十一章讲义

第十二章 异常处理

-导学

--第12章导学

-异常处理的思想与程序实现

--异常处理的思想与程序实现

-第十二章 异常处理--异常处理的思想与程序实现

-异常处理中的构造与析构

--异常处理中的构造与析构

-第十二章 异常处理--异常处理中的构造与析构

-标准程序库异常处理

--标准程序库异常处理

-第十二章 异常处理--标准程序库异常处理

-小结

--第12章小结

-综合实例

--综合实例

-实验十二

--实验十二

- 第十二章讲义

从字符串输入笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。