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 
 string 
string s(CString.GetBuffer()); 

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 char* char[100] 之间的转换 - - 


CString
int char* char[100] 之间的转换 - - 



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 就可以了。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值