道德的最大年夜诡秘就是爱;或者说,就是超出我们本身的赋性,而溶于旁人的思惟、步履或人格中存在的美。
时候是送给我们的名贵礼品,它使我们变得更聪慧,更美好,更成熟,更完美。项目中经常用到各类不合的说话的伴侣们应当会斗劲有如许的领会:一种开辟说话用了斗劲长的时候,忽然间转到别的一种说话的话,不管是数据类型或者语法布局,多几许少都邑有那么一点不适应。哪怕MFC中的类型与标准C++也是一样的。下面是MFC/C++/C中字符类型CString, int, string, char*之间的转换的申明与举例,经常用的器材,信赖对于用C/C++的伴侣,还是斗劲有效的。
- 1 CString,int,string,char*之间的转换
- string 转 CString
- CString.format("%s", string.c_str());
- char 转 CString
- CString.format("%s", char*);
- char 转 string
- string s(char *);
- string 转 char *
- char *p = string.c_str();
- // CString转std::string
- CString str = dlg.GetPathName();
- setlocale(LC_ALL, "chs");
- char *p = new char[256];
- wcstombs( p, str, 256 );
- m_fileName = p;
- 1,string -> CString
- CString.format("%s", string.c_str());
- 用c_str()确切比data()要好.
- 2,char -> string
- string s(char *);
- 你的只能初始化,在不是初始化的处所最好还是用assign().
- 3,CString -> string
- string s(CString.GetBuffer());
- GetBuffer()后必然要ReleaseBuffer(),不然就没有开释缓冲区所占的空间.
- 《C++标准函数库》中说的
- 有三个函数可以将字符串的内容转换为字符数组和C—string
- 1.data(),返回没有”0“的字符串数组
- 2,c_str(),返回有”0“的字符串数组
- 3,copy()
- CString互转int
- 将字符转换为整数,可以应用atoi、_atoi64或atol。
- 而将数字转换为CString变量,可以应用CString的Format函数。如
- CString s;
- int i = 64;
- s.Format("%d", i)
- Format函数的功能很强,值得你研究一下。
- void CStrDlg::OnButton1()
- {
- // TODO: Add your control notification handler code here
- CString
- ss="1212.12";
- int temp=atoi(ss);
- CString aa;
- aa.Format("%d",temp);
- AfxMessageBox("var is " + aa);
- }
- sart.Format("%s",buf);
- CString互转char*
- ///char * TO cstring
- CString strtest;
- char * charpoint;
- charpoint="give string a value";
- strtest=charpoint;
- ///cstring TO char *
- charpoint=strtest.GetBuffer(strtest.GetLength());
- 标准C里没有string,char *==char []==string
- 可以用CString.Format("%s",char *)这个办法来将char *转成CString。要把CString转成char *,用操纵符(LPCSTR)CString就可以了。
- CString转换 char[100]
- char a[100];
- CString str("aaaaaa");
- strncpy(a,(LPCTSTR)str,sizeof(a));
- 2 CString类型的转换成int
- CString类型的转换成int
- 将字符转换为整数,可以应用atoi、_atoi64或atol。
- //CString aaa = "16" ;
- //int int_chage = atoi((lpcstr)aaa) ;
- 而将数字转换为CString变量,可以应用CString的Format函数。如
- CString s;
- int i = 64;
- s.Format("%d", i)
- Format函数的功能很强,值得你研究一下。
- 若是是应用char数组,也可以应用sprintf函数。
- //CString ss="1212.12";
- //int temp=atoi(ss);
- //CString aa;
- //aa.Format("%d",temp);
- 数字->字符串除了用CString::Format,还有FormatV、sprintf和不须要借助于Afx的itoa
- 3 char* 在装int
- #include <stdlib.h>
- int atoi(const char *nptr);
- long atol(const char *nptr);
- long long atoll(const char *nptr);
- long long atoq(const char *nptr);
- 4 CString,int,string,char*之间的转换
- string aa("aaa");
- char *c=aa.c_str();
- cannot convert ""const char *"" to ""char *""
- const char *c=aa.c_str();
- 5 CString,int,string,char*之间的转换
- string.c_str()只能转换成const char *,
- 要转成char *如许写:
- string mngName;
- char t[200]; memset(t,0,200); strcpy(t,mngName.c_str());
完MRMY