在VC6.0下面数据类型装换
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C/C++与MFC数据类型转换
一.string,CString,int,char*之间的相互转换
1. //-------- int ---> CString--------------//
/* int a = 3;
CString str;
str.Format("%d",a);
MessageBox(str);
*/
2. //---------string ---> CString-----------//
/* string str = "abcd";
CString cstr;
//错误的写法
//cstr.Format("%s",str); //运行出错
cstr.Format("%s",str.c_str());
MessageBox(cstr);
*/
3. //----------char * ---> CString-------------//
/* char *ch;
ch = "abcdef" ;
CString str ;
//有两种方法
//str.Format("%s",ch);
//str =ch;
MessageBox(str);
*/
4. //-----------CString ---> char * ------------//
/* CString cstr = "abcdefg" ;
char *ch = cstr.GetBuffer(cstr.GetLength());
char *ch = (char *)LPCTSTR(cstr);
MessageBox(ch);/
*
5. //----------CString --->char[100]------------//
/*char ch[100];
CString cstr = "abcde";
//strncpy(ch,cstr,sizeof(ch));
strncpy(ch,(LPCTSTR)cstr,sizeof(ch));
MessageBox(ch);
*/
6. //-----------CString ---> int -------------//
/* CString str="123";
CString str1 = "123.333";
int temp = atoi((LPCTSTR)str1);
CString show ;
show.Format("%d",temp);
MessageBox(show);
*/
/* CString str = "123";
UINT n ;
sscanf(str,"%d",n);
CString show ;
show.Format("%d",n);
MessageBox(show);
*/
7. //-------------char * ---> int | long | float | double----------------//
/* char *ch = "123" ;
int n = atoi(ch);
CString show ;
show.Format("%d",n);
MessageBox(show);
*/
/* char *ch = "123" ;
long lon = atol(ch);
CString show ;
show.Format("%d",lon);
MessageBox(show);
*/
//除了以上的方法
//还有如下:
//long long atoll(const char *nptr);
//long long atoq(const char *nptr);
/* char *ch = "12.3" ;
float f ;
f = atof(ch);
CString show ;
show.Format("%f",f);
MessageBox(show);
*/
/* char *ch = "12.3" ;
double d ;
d = strtod(ch,NULL);
CString show ;
show.Format("%lf",d);
MessageBox(show);
*/
7. //--------------CString ---> string---------------//
/* CString cstr = "abcde" ;
string str(cstr.GetBuffer(100));
cstr.ReleaseBuffer(); //一定要释放资源
CString show ;
show.Format("%s",str.c_str());
MessageBox(show);
*/
8. //--------------char * ---> string -------------//
/* char *ch="abcd";
string str(ch);
CString show ;
show.Format("%s",str.c_str());
MessageBox(show);
//你的只能初始化,在不是初始化的地方最好还是用assign().
*/
9. //--------------int ---> char *---------------//
/*在stdlib.h中有个函数itoa()
itoa的用法:
itoa(i,num,10);
i 需要转换成字符的数字
num 转换后保存字符的变量
10 转换数字的基数(进制)10就是说按照10进制转换数字。还可以是2,8,16等等你喜欢的进制类型