方法调用很简单,sprintf itoa函数在我的其他博客也有详解,请翻阅查看,话不多说,直接撸代码:
#include <iostream>#include <string>#include <cstdlib>#include <sstream>#include <cstring> using namespace std;//第一种C风格的转化(以前一直喜欢的 sprintf 功能强大)void test(){ char *s = "dong"; int a = 52; float b = .1314; char *buf = new char[strlen(s) + sizeof(a) + 1]; sprintf(buf, "%s%d%.4f", s, a, b); printf("%s\n", buf);}//半C半C++风格void test1(){ string s = "dong"; int a = 520; char *buf = new char[10];//2147483647 int最大值 _itoa(a, buf, 10); //itoa虽然可以转化为各种进制,但是注意不能是float或者double cout << s + buf << " | "; _itoa(a, buf, 16); cout << s + buf << endl;}//纯C++风格void test2(){ string s = "陈明东"; int a = 52; double b = .1314; ostringstream oss; oss << s << a << b; cout << oss.str() << endl;}//C++11新特性void test3(){ int a = 520; float b = 5.20; string str = "dong"; string res = str + to_string(a); cout << res << endl; res = str + to_string(b); res.resize(8); cout << res << endl;}int main(){ test(); test1(); test2(); test3(); return 0;}
联系客服