string转int怎么转,string和int的相互转化

使用函数
int转string
//c++11标准增加了全局函数std::to_string:#include<iostream>int main() { int num = 123; std::string str = std::to_string(num); std::cout << str << std::endl; return 0;
}
输出:123string转int
//可以使用std::stoi/stol/stoll等等函数//分别对应int、long,long long//转化的字符串中开头第一个必须是数字#include<iostream>int main() { std::string str = "123";
//方法1: atoi (c函数)
int num = atoi(str.c_str()); //用str.c_str()先转为char*
std::cout << num << std::endl;
//方法2: stoi (c++函数)
int num = std::stoi(str); std::cout << num << std::endl;
str = "1234 abcd";
num = std::stoi(str); std::cout << num << std::endl;
return 0;
}
输出:1231231234 //只会输出1234使用流
int转string
#include<iostream>#include<sstream>std::string i_to_string(int num) { std::stringstream stream;
stream << num; return stream.str();
}int main() { std::string str("hello");
str += i_to_string(123); std::cout << str << std::endl;; return 0;
}
输出:
hello123使用ASCII码
string转int
#include<iostream>#include<sstream>int main() { std::string s("1234"); std::string::const_iterator iter = s.begin(); int res = 0; int base = 10; //10进制基底
while(iter != s.end()){
res = res * base + ( (*iter++) - '0');
} std::cout << res << std::endl; return 0;
}
输出:1234int转string
#include<iostream>#include<sstream>int main() { int num = 1234; std::string res; do { int temp = num % 10;
res += temp + '0';
num /= 10;
} while(num != 0);//倒着拼接
//倒着输出(rbgin,rend)
for (std::string::const_reverse_iterator it = res.rbegin(); it != res.rend(); ++it) { std::cout << *it;
} return 0;
}
输出:1234本文地址:IT问答频道 https://www.hkm168.com/itwenda/916822.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!



相关阅读








