C++拼接String字符串
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main(){
testFirst();
testSecond();
testThr();
return 0;
}
/**
* 第一种C风格的转化
*
* sprintf 功能强大
*/
void testFirst(){
char *s = “hello”;
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 testSecond(){
string s = “dong”;
int a = 520;
//2147483647 int最大值
char *buf = new char[10];
//itoa虽然可以转化为各种进制,但是注意不能是float或者double
_itoa(a, buf, 10);
s += buf;
cout << s << “\t”;
_itoa(a, buf, 16);
s += buf;
cout << s << endl;
}
/**
* 纯C++风格
*/
void testThr(){
string s = “中国”;
int a = 520;
double b = .1314;
ostringstream oss;
oss << s << a << b << endl;
cout << oss.str() << endl;
}
/*
*
输出结果
hello520.1314
hello520 dong520208
中国5200.1314
*/
|
版权声明:本文为BeautifulGrils原创文章,遵循
CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。