博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
字符串解析出int和bool等类型的值
阅读量:4285 次
发布时间:2019-05-27

本文共 751 字,大约阅读时间需要 2 分钟。

轉載 

 

从字符串解析出int和bool等类型的值

  说到将字符串解析成int,首先想到的一定是atoi、atol等C函数。如果用C++来完成这些工具函数,那就要用到std::istringstream。

  除了解析bool值之外,下面这个函数可以解析大部分的类型的数值:

template
<
class
 T
>
 parseString(
const
 std::
string
&
 str) {

    T value;
    std::istringstream iss(str);
    iss 
>>
 value;
    
return
 value;
}

  上面这个模板可以将0解析成bool值false,将非0解析成treu。但它不能将字符串"false"解析成false,将"true"解析成true。因此要用一个特别的函数来解析bool型的值:

template<bool>
bool
 parseString(
const
 std::
string
&
 str) {

    
bool
 value;
    std::istringstream iss(str);
    iss 
>>
 boolalpha 
>>
 value;
    
return
 value;
}

  上面的函数中,向输入流传入一个std::boolalpha标记,输入流就能认识字符形式的"true"和"false"了。

  使用与之类似的办法解析十六进制字符串,需要传入的标记是std::hex:

template
<
class
 
T>
 parseHexString(
const
 std::
string
&
 str) {

    T value;
    std::istringstream iss(str);
    iss 
>>
 hex 
>>
 value;
    
return
 value;
}

转载地址:http://kasgi.baihongyu.com/

你可能感兴趣的文章
Python itertools模块详解
查看>>
Apriori算法简介及实现(python)
查看>>
Python中的集合:set与frozenset用法举例
查看>>
python strip()函数 介绍
查看>>
pandas库中数据结构DataFrame的绘制函数
查看>>
Latex使用小结
查看>>
使用networkx-python绘制点边图
查看>>
NetworkX Tutorial Release 1.10
查看>>
networkx使用笔记(二)之小试牛刀篇
查看>>
Python 优雅的操作字典
查看>>
Latex设置表格字体大小
查看>>
Latex公式及编号
查看>>
Python __future__ 模块
查看>>
TensorFlow入门学习(让机器/算法帮助我们作出选择)
查看>>
把项目从Python2.x移植到Python3.x的经验总结
查看>>
如何在python下安装xgboost
查看>>
xgboost特征选择
查看>>
kaggle数据挖掘竞赛初步--Titanic&lt;数据变换&gt;,kaggle--titanic
查看>>
XGBoost-Python完全调参指南-参数解释篇
查看>>
【scikit-learn】scikit-learn的线性回归模型
查看>>