本文主要是介绍字符串解析出int和bool等类型的值,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
轉載 http://blog.csdn.net/jamesfancy/article/details/1543338
从字符串解析出int和bool等类型的值
说到将字符串解析成int,首先想到的一定是atoi、atol等C函数。如果用C++来完成这些工具函数,那就要用到std::istringstream。
除了解析bool值之外,下面这个函数可以解析大部分的类型的数值:
T value;
std::istringstream iss(str);
iss >> value;
return value;
}
上面这个模板可以将0解析成bool值false,将非0解析成treu。但它不能将字符串"false"解析成false,将"true"解析成true。因此要用一个特别的函数来解析bool型的值:
bool parseString( const std:: string & str) {
bool value;
std::istringstream iss(str);
iss >> boolalpha >> value;
return value;
}
上面的函数中,向输入流传入一个std::boolalpha标记,输入流就能认识字符形式的"true"和"false"了。
使用与之类似的办法解析十六进制字符串,需要传入的标记是std::hex:
T value;
std::istringstream iss(str);
iss >> hex >> value;
return value;
}
这篇关于字符串解析出int和bool等类型的值的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!