数字转字符串
1.sprintf_s函数
//sprintf函数
int a = 100;
float b = 10.30;
char str[10];
sprintf_s(str,"%d",a);
cout <<"a的字符串类型:"<< str<<endl;
sprintf_s(str, "%.3lf", b);
cout << "b的字符串类型:" << str << endl;
sprintf_s(str, "%x", a);
cout << "a的16进制表示:" << str << endl;
注:sprintf_s()是sprintf()的安全版本,通过指定缓冲区长度来避免sprintf()存在的溢出风险。
用于转换的格式字符:
%c 单个字符
%d 十进制整数(int)
%ld 十进制整数(long)
%f 十进制浮点数(float)
%lf 十进制浮点数(double)
%o 八进制数
%s 字符串
%u 无符号十进制数
%x 十六进制数
2.itoa函数
char *itoa(int value, char* string, int radix),不过与平台相关,一般不使用。
3.Format函数(double/float->CString)MFC
CString.Format("%.3lf",data)
4.ostringstream类<sstream>
ostringstream os; double a=123.4; os<<a; cout<<os.str();
字符串转数字
1.sscanf_s函数
char str[] = "123.321";
double a;
sscanf_s(str, "%lf", &a);
cout << "a的字符串表示:" << a;
2.atoi/atol/atof函数
atoi:转换为整型,atol:转换为长整型,atof:转换为浮点类型
3.istringstream类<sstream>
istringstream is;
char str[]="123.45";
double a;
is.str(str);
is>>a;
cout<<a;