《C++标准函数库》中说的  
有三个函数可以将字符串的内容转换为字符数组和C—string  
1.data(),返回没有”\0“的字符串数组  
2,c_str(),返回有”\0“的字符串数组  
3,copy() 
................................................................. 
int 转 CString: 
CString.Format("%d",int); 
............................... 
string 转 CString  
CString.format("%s", string.c_str());  
用c_str()确实比data()要好.  
....................................... 
char* 转 CString  
CString.format("%s", char*);  
CString strtest;  
char * charpoint;  
charpoint="give string a value";  
strtest=charpoint; //直接付值 
................................................................... 
CString 转 int 
CString  ss="1212.12";  
int temp=atoi(ss); //atoi _atoi64或atol 
  
将字符转换为整数,可以使用atoi、_atoi64或atol。  
int int_chage = atoi((lpcstr)ss) ; 
或: 
   CString str = "23"; 
   UINT uint; 
   sscanf(str, "%d", uint); 
.............................. 
string 转 int 
.............................. 
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); 
................................................................... 
CString 转 string 
  string s(CString.GetBuffer());  
  GetBuffer()后一定要ReleaseBuffer(),否则就没有释放缓冲区所占的空间.  
.......................................... 
int 转 string 
.......................................... 
char* 转 string  
string s(char *);  
你的只能初始化,在不是初始化的地方最好还是用assign(). 
................................................................... 
CString 转 char * 
CString strtest="wwwwttttttt"; 
charpoint=strtest.GetBuffer(strtest.GetLength()); 
CString转换 char[100]  
char a[100];  
CString str("aaaaaa");  
strncpy(a,(LPCTSTR)str,sizeof(a)); 
  CString  str="aaa";   
  char*  ch;   
  ch=(char*)(LPCTSTR)str; 
.......................................... 
int 转 char * 
在stdlib.h中有个函数itoa() 
itoa的用法: 
itoa(i,num,10); 
i 需要转换成字符的数字 
num 转换后保存字符的变量 
10 转换数字的基数(进制)10就是说按照10进制转换数字。还可以是2,8,16等等你喜欢的进制类型 
原形:char *itoa(int value, char* string, int radix); 
实例: 
#include "stdlib.h" 
#include "stdio.h" 
main() 

int i=1234; 
char s[5]; 
itoa(i,s,10); 
printf("%s",s); 
getchar(); 

.......................................... 
string 转 char *  
char *p = string.c_str();

string aa("aaa"); 
char *c=aa.c_str(); 
string mngName; 
char t[200]; 
memset(t,0,200); 
strcpy(t,mngName.c_str()); 
................................................................... 
标准C里没有string,char *==char []==string 
可以用CString.Format("%s",char *)这个方法来将char *转成CString。要把CString转成char *,用操 
作符(LPCSTR)CString就可以了。 
cannot convert from 'const char *' to 'char *' 
const char *c=aa.c_str();  
string.c_str()只能转换成const char *

String,CString,TCHAR,char之间区别和联系

2008-07-25 19:53

char是类型
TCHAR也是!不过他可以通过是否定义了UNICODE宏来判断到底是
char还是w_char;

TCHAR是一种字符串类型,它让你在以MBCS和UNNICODE来build程序时可以使用同样的代码,不需要使用繁琐的宏定义来包含你的代码,而char代表ASCII的字符

#ifdef UNICODE

typedef wchar_t TCHAR;

#else

typedef char TCHAR;

#endif

所以用MBCS来build时,TCHAR是char,使用UNICODE时,TCHAR是wchar_t.

至于String,CString他们都是一种封装了字串处理的操作!
你可以打开他们的源代码找寻究竟!

CString属于VC的类库

string是标准C++的类库

string.h是C的库函数。

研究它们的源代好些!

TCHAR,char是可以同整型互换的类型。
String,CString代表了一块内存区域。

TCHAR 赋值

#include <tchar.h>

TCHAR szWindowText[256]=_T("QQ2006");

char*、TCHAR*转换CString 
CString str(****) 
下面详细写一下其它转换 
// 
/* 
*********************************************************************** 
* 函数: TransCStringToTCHAR 
* 描述:将CString 转换为 TCHAR* 
* 日期:
*********************************************************************** 
*/ 
TCHAR* CPublic::CString2TCHAR(CString &str) 

int iLen = str.GetLength(); 
TCHAR* szRs = new TCHAR[iLen]; 
lstrcpy(szRs, str.GetBuffer(iLen)); 
str.ReleaseBuffer(); 
return szRs; 
}

/* 
*********************************************************************** 
* 函数: THCAR2Char 
* 描述:将TCHAR* 转换为 char* 
* 日期:

*********************************************************************** 
*/ 
char* CPublic::THCAR2char(TCHAR* tchStr) 

int iLen = 2*wcslen(tchStr);//CString,TCHAR汉字算一个字符,因此不用普通计算长度 
char* chRtn = new char[iLen+1] 
wcstombs(chRtn,tchStr,iLen+1);//转换成功返回为非负值 
return chRtn; 
}

/* 
*********************************************************************** 
* 函数: CString2char 
* 描述:将CString转换为 char* 
* 日期:
*********************************************************************** 
*/ 
char* CPublic::CString2char(CString &str) 

int len = str.GetLength(); 
char* chRtn = (char*)malloc((len*2+1)*sizeof(char));//CString的长度中汉字算一个长度 
memset(chRtn, 0, 2*len+1); 
USES_CONVERSION; 
strcpy((LPSTR)chRtn,OLE2A(str.LockBuffer())); 
return chRtn; 

//参考 
/// 
//Pocket PC上的UNICODE和ANSI字符串

//By Vassili Philippov, September 26, 2001.

//杨方思歧 译 
 
/* 
*********************************************************************** 
* 函 数 名:GetAnsiString 
* 描 述:将CString(unicode)转换为char*(ANSI) 
* 参 数:CString &s 要转换的CString 
* 返 回 值:返回转换结果 
* 创建日期:

* 最后修改:
*********************************************************************** 
*/ 
char* GetAnsiString(const CString &s) 

int nSize = 2*s.GetLength(); 
char *pAnsiString = new char[nSize+1]; 
wcstombs(pAnsiString, s, nSize+1); 
return pAnsiString; 
}

本文转自wenglabs博客园博客,原文链接:http://www.cnblogs.com/greatverve/archive/2010/11/10/cstring-int-string-char.html,如需转载请自行联系原作者

CString,int,string,char*之间的转换相关推荐

  1. CString,int,string,char*之间的转换(转)

    ............................................................... <C++标准函数库>中说的   有三个函数可以将字符串的内容 ...

  2. MFCC中CString, int, string, char之间的转换

    1.    CString  -->  char* (1)传给未分配内存的指针 CString cstr ="ASDDSD"; char *ch =cstr.GetBuffe ...

  3. VC之CString,wchar_t,int,string,char*之间的转换

    VC之CString,wchar_t,int,string,char*之间的转换 1. CString 转 wchar_t CString path = "asdf"; wchar ...

  4. cstring转为string vc_VC之CString,wchar_t,int,string,char*之间的转换-阿里云开发者社区

    VC之CString,wchar_t,int,string,char*之间的转换 1. CString 转 wchar_t CString path = "asdf"; wchar ...

  5. CString,string,char*之间的转换(转)

    Bluestorm's Space 博客园 首页 新随笔 联系 订阅 管理 随笔 - 588  文章 - 3  评论 - 137 CString,string,char*之间的转换(转) 这三种类型各 ...

  6. VC之CString,wchar_t,int,string,char*之间的转换方法

    1. CString 转 wchar_t CString path = "asdf"; wchar_t wstr[256] = path.AllocSysString(); 或者: ...

  7. MFC中CString,int,string,char * ,char[] 之间互转

    <1> (1)string 转 CString  CString.format("%s", string.c_str());   (2)char 转 CStri ...

  8. MFC中的CString.Format及CString,string,char*之间的转换

    1.CString.Format的使用:https://blog.csdn.net/wangkaishou/article/details/5846152 2.CString,string,char* ...

  9. Python:int,float,str之间的转换

    文章目录 数据类型转换 其它数据转换的内置函数 数据类型转换 主要介绍int,float,str之间的相互转换,转换方向见上图. 其它数据转换的内置函数 python各种类型转换-int,str,ch ...

最新文章

  1. matlab正态分布
  2. 平凡的80后 不平凡的人生路
  3. (EM算法)The EM Algorithm
  4. 鸟哥的Linux私房菜(基础篇)- 第十五章、磁碟配额(Quota)与进阶文件系统管理
  5. JqueryMobile链接一个页面,而链接页面中图片需刷新才显示的问题
  6. python中.append()和.extend()的区别
  7. java 生成sql脚本_java导出insert语句并生成sql脚本
  8. 游戏角色坐标的保存间隔_游戏岗位看这里鸭——
  9. Bokeh库快速入门
  10. Python_软件安装
  11. Linux入门-安装篇(Debian 服务器版)
  12. Linux chapter test 9
  13. ruby分割字符串_Ruby中常用的字符串处理函数使用实例
  14. Maven的安装和适配使用教程-保姆级
  15. Excel 计算标准差
  16. Android开发 匹配软键盘回车键
  17. 360测试开发面试总结 -- 失败
  18. 集群节点启动报错 BEA-000386
  19. ORCL数据字典(10级学员 张家玮整理)
  20. Android getDimensionPixelSize, 代码中设置字体大小,读xml配置。

热门文章

  1. 深度学习-14:知名的深度学习开源架构和项目
  2. 2019杭电多校第一场 HDU 6599
  3. ERP从内部集成起步开篇
  4. 【Android】PorterDuffXfermode使用(通过消除背景层与重叠部分绘制组合图形)
  5. 股票入门基础知识17:计算每股收益(EPS):衡量股票真实价格
  6. gy30光照传感器c语言程序,STM32F103驱动GY-30(BH1750)光照强度传感器程序讲解(附加程序下载)...
  7. 【STM32-库函数】光照强度传感器BH1750 GY-30
  8. m1芯片也能用的AI图像降噪软件:Topaz DeNoise AI
  9. sockets是什么?
  10. Python 高斯朴素贝叶斯的优缺点