如何用C++将数字“1”转换成字符“1”?

哪位知道,如何用C++将数字“1”转换成字符“1”?
最新回答
避讳真心

2025-06-21 13:56:51

1、字符串数字之间的转换\x0d\x0a\x0d\x0a(1)string --> char *\x0d\x0astring str("OK");\x0d\x0achar * p = str.c_str();\x0d\x0a\x0d\x0a(2)char * -->string\x0d\x0achar *p = "OK";\x0d\x0astring str(p);\x0d\x0a\x0d\x0a(3)char * -->CString \x0d\x0achar *p ="OK";\x0d\x0aCString m_Str(p);\x0d\x0a//或者\x0d\x0aCString m_Str;\x0d\x0am_Str.Format("%s",p);\x0d\x0a\x0d\x0a(4)CString --> char *\x0d\x0aCString str("OK");\x0d\x0achar * p = str.GetBuffer(0);\x0d\x0a...\x0d\x0astr.ReleaseBuffer();\x0d\x0a\x0d\x0a(5)string --> CString \x0d\x0aCString.Format("%s", string.c_str()); \x0d\x0a\x0d\x0a(6)CString --> string\x0d\x0astring s(CString.GetBuffer(0)); \x0d\x0aGetBuffer()后必然要ReleaseBuffer(),不然就没有开释缓冲区所占的空间,CString对象不克不及动态增长了。\x0d\x0a\x0d\x0a(7)double/float->CString\x0d\x0adouble data;\x0d\x0aCString.Format("%.2f",data); //保存2位小数\x0d\x0a\x0d\x0a(8)CString->double\x0d\x0aCString s="123.12";\x0d\x0adouble d=atof(s); \x0d\x0a\x0d\x0a(9)string->double\x0d\x0adouble d=atof(s.c_str());\x0d\x0a\x0d\x0a2、数字转字符串:应用sprintf()函数\x0d\x0a\x0d\x0achar str[10];\x0d\x0aint a=1234321;\x0d\x0asprintf(str,"%d",a);\x0d\x0a--------------------\x0d\x0achar str[10];\x0d\x0adouble a=123.321;\x0d\x0asprintf(str,"%.3lf",a);\x0d\x0a--------------------\x0d\x0achar str[10];\x0d\x0aint a=175;\x0d\x0asprintf(str,"%x",a);//10进制转换成16进制,若是输出大写的字母是sprintf(str,"%X",a)\x0d\x0a--------------------\x0d\x0achar *itoa(int value, char* string, int radix); \x0d\x0a同样也可以将数字转字符串,不过itoa()这个函数是平台相干的(不是标准里的),故在这里不推荐应用这个函数。\x0d\x0a\x0d\x0a3、字符串转数字:应用sscanf()函数\x0d\x0a\x0d\x0achar str[]="1234321";\x0d\x0aint a;\x0d\x0asscanf(str,"%d",&a);\x0d\x0a.............\x0d\x0achar str[]="123.321";\x0d\x0adouble a;\x0d\x0asscanf(str,"%lf",&a);\x0d\x0a.............\x0d\x0achar str[]="AF";\x0d\x0aint a;\x0d\x0asscanf(str,"%x",&a); //16进制转换成10进制\x0d\x0a\x0d\x0a别的也可以应用atoi(),atol(),atof().\x0d\x0a\x0d\x0a4、应用stringstream类\x0d\x0a\x0d\x0a用ostringstream对象写一个字符串,类似于sprintf() \x0d\x0aostringstream s1;\x0d\x0aint i = 22;\x0d\x0as1 << "Hello " << i << endl;\x0d\x0astring s2 = s1.str();\x0d\x0acout << s2;\x0d\x0a\x0d\x0a用istringstream对象读一个字符串,类似于sscanf() \x0d\x0aistringstream stream1;\x0d\x0astring string1 = "25";\x0d\x0astream1.str(string1);\x0d\x0aint i;\x0d\x0astream1 >> i;\x0d\x0acout << i << endl; // displays 25