LPSTR 及LPCSTR与char[] 的转换

 
LPSTR介绍
 
LPSTR:一个32位指向字符串的指针,相当于char *;

LPCSTR:一个32位指向字符串常量的指针,相当于const char *;

LPWSTR:一个32位指向Unicode字符串指针,相当于wchar_t *;

LPCWSTR:一个32位指向Unicode字符串常量指针,相当于const wchar_t *;
 
LPCSTR与char[] 的转换
 

LPCSTR  
  char   *  
   
  LPCTSTR    
  const   char   *  
  这两个都是支持UNICODE的  
   
  CString  
  mfc的字符串类  
   
  char*  
  字符指针  
  可以指向一个字符串   
  char   *   p   =   "abc"  
   
  char[]  
  字符数组  
  如果char   a[10]   =   "abc"  
  可以表示一个字符串   
    
  CHAR    
  单个字符  
  如‘a‘

  
  #include<string>  
  using   namespace   std;  
  #include   <COMDEF.H>  
   
  {  
    CString   strCString="ABC";  
    char   strchar[256],*pstr;  
     
    pstr=(LPSTR)(LPCTSTR)strCString;     //CString---->char*  
    strcpy(strchar,(LPSTR)(LPCTSTR)strCString);   //CString---->char[]  
     
    _bstr_t   strbstr=pstr;       //char*---->_bstr_t  
    WCHAR   *strWCHAR=strbstr;       //b_str_t--->UNICODE  
   
    strbstr=strWCHAR;  
    pstr=strbstr;           //UNICODE---->char*  
   
    strCString="10";  
    int   istr=atoi((LPSTR)(LPCTSTR)strCString);   //CString、char[]、char*------>int  
    strCString.Format("%d",istr);       //int----->CString  
    sprintf(strchar,"%d",istr);       //int----->char[]  
     
    pstr=new   char[256];       //字符串申请空间  
    strcpy(pstr,"ABC");         //字符串赋值  
    delete   []pstr;           //字符串释放  
     
    string   strstring="ABC";  
    pstr=(char*)strstring.c_str();       //string---->char*  
   
    strCString="2003-10-27   6:24:37";     //CString--->COleDateTime  
    COleVariant   vtime(strCString);  
    vtime.ChangeType(VT_DATE);  
    COleDateTime   time4=vtime;  
     
   
   
    COleDateTime   time1(1977,4,16,2,2,2);     //COleDataTime--->CTime  
    SYSTEMTIME   systime;  
    VariantTimeToSystemTime(time1,   &systime);  
    CTime   tm(systime);  
   
    time_t   time2=tm.GetTime();       //CTime--->time_t  
    COleDateTime   time3(time2);       //time_t--->COleDateTime  
   
    //判断字符串是否是某种类型  
    CString   sValue("123.1");  
    COleVariant   vValue(sValue);  
     
    BOOL   bStrIsFloat   =   (SUCCEEDED(VariantChangeType(&vValue,   &vValue,   0,   VT_R8))   &&   sValue.Find(‘.‘)   !=   -1);  
    if(bStrIsFloat)  
    {  
      AfxMessageBox("浮点");  
    }  
  }  

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值