使用C++流.
std::string plop("123"); std::stringstream str(plop); int x; str >> x; /* Lets not forget to error checking */ if (!str) { // The conversion failed. // Need to do something here. // Maybe throw an exception }
PS.这个基本原理是boost库的lexical_cast<>
工作原理.
我最喜欢的方法是提升 lexical_cast<>
#includeint x = boost::lexical_cast ("123");
它提供了一种在字符串和数字格式之间进行转换的方法.在它下面使用一个字符串流,所以任何可以编组成流然后从流中解组的东西(看看>>和<<运算符).
#include// st is input string int result; stringstream(st) >> result;
使用C++流.
std::string plop("123"); std::stringstream str(plop); int x; str >> x; /* Lets not forget to error checking */ if (!str) { // The conversion failed. // Need to do something here. // Maybe throw an exception }
PS.这个基本原理是boost库的lexical_cast<>
工作原理.
我最喜欢的方法是提升 lexical_cast<>
#includeint x = boost::lexical_cast ("123");
它提供了一种在字符串和数字格式之间进行转换的方法.在它下面使用一个字符串流,所以任何可以编组成流然后从流中解组的东西(看看>>和<<运算符).