num1=::_ttoi((LPCTSTR)str1);//string to int
str3.Format(_T("%d"),num3);//int to string
使用 unicode 码的时候。要在字符或字符串 的前面 加上 L 。或者 写成 _T("this is a window.")形式的。
strcpy 对应的 函数 为 wcscpy();
CStringArray names;
names.add();
string 转 CString
CString.format(L"%s", string.c_str());
char 转 CString
CString.format(L"%s", char*);
CString str;
str=char*;
char*=(char*)(LPCTSTR)str;
《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(L"%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(L"%d",temp);
AfxMessageBox("var is " + aa);
}
sart.Format(L"%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(L"%s",char *)这个方法来将char *转成CString。要把CString转成char *,用操作符(LPCSTR)CString就可以了。
CString转换 char[100]
char a[100];
CString str("aaaaaa");
strncpy(a,(LPCTSTR)str,sizeof(a));