文章类型: VC&C++
关键词: 如何将CString类型转换成unsigned,char,*类型,VC,字符串的相互转换,CString,和,unsigned,char*
内容摘要: 如何将CString类型转换成unsigned char *类型 VC 字符串的相互转换 CString 和 unsigned char*

VC 字符串的相互转换 CString 和 unsigned char*

2017/5/12 16:07:08    来源:apple    阅读:

CString str = "abcd"; 

unsigned char* pC = (unsigned char*)(LPCTSTR)str; 


或 

CString s("ABC"); 

unsigned char *puc = (unsigned char*)s.GetBuffer( s.GetLength() ); 

...;//必须等指针使用完之后才能进行下一条释放命令。 

s.ReleaseBuffer();


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 *,用操作符(unsigned char*)(LPCSTR)CString就可以了。 

 

CString转换 unsigned char*

unsigned char*  a;

CString st("test");

a = (unsigned char *)(LPCSTR) st;


CString转换 char[100] 

char a[100];  

CString str("aaaaaa");  

strncpy(a,(LPCTSTR)str,sizeof(a));

↑ 上一篇文章:vs2010 vc++ malloc分配内存 关键词:vs2010,vc++,malloc分配内存 发布日期:2017/5/12 16:06:02
↓ 下一篇文章:VC++中CMAP用法 关键词:VC++,CMAP,用法 发布日期:2017/5/12 16:10:24
相关文章:
VC++中的CString、char、int类型转换 关键词:VC++中的CString、char、int类型转换 发布日期:2016-11-17 10:17
VC CString 转换 const char* 关键词:VC,CString,转换,const,char* 发布日期:2017-08-25 11:42
VC++中将CString转换成const char*的一种有效方法 关键词:VC++,CString,转换,const,char 发布日期:2016-09-23 15:26
相关目录:.NETVC&C++JAVA软件开发
我要评论
正在加载评论信息......