现在位置: 首页 > 字符转换
2013-09-04 23:39 工业·编程 ⁄ 共 361字 暂无评论
1.CTime对象转换为DWORD类型 CTime time=CTime::GetCurrentTime();  //获取当前时间 DWORD timedw = time.GetTime();  //CTime->DWORD 2.DWORD类型变量转换为CTime对象 CTime time1(timedw);  //DWORD->CTime CString strTime; strTime.Format( "%d-%d-%d %d:%d:%d", time1.GetYear(),time1.GetMonth(),time1.GetDay(),time1.GetHour(),time.GetMinute(),time.GetSecond()); //CTime的格...
阅读全文
 CString--->COleDateTime: 方法1:COleDateTime::ParseDateTime() CString strDate = _T("1987-06-21"); COleDateTime oleDate; oleDate.ParseDateTime(strDate, VAR_DATEVALUEONLY); 方法2:COleVariant CString strDate = _T("1987-06-21"); COleVariant varTime(strDate); varTime.ChangeType(VT_DATE); COleDateTime oleDate(varTime); //COleDateTime oleDate; //o...
阅读全文
    CString   和   LPCTSTR   可以说通用。   原因在于CString定义的自动类型转换,没什么奇特的,最简单的C++操作符重载而已。      常量字符串ansi和unicode的区分是由宏_T来决定的。但是用_T( "abcd ")时,   字符串 "abcd "就会根据编译时的是否定一_UNICODE来决定是char*   还是   w_cha...
阅读全文
通过CFileDialog::GetPathName读入的路径以CString存放,如果想用OpenCV的capture读入此路径则需要将其转化为char*。 需要注意: CString中的路径反斜杠是单斜杠,考虑转义字符,转为char*之前要先替换成双斜杠。 考虑到中文路径的可能性,避免通过(LPCWSTR)强制转换。 实现如下: CString fileFullName; char aviFileName[FILENAMELEN]; CFileDialog dlg(TRUE); if(dlg.DoModal()==IDOK) { fileF...
阅读全文
一、COLORREF与RGB的相互转化 RGB(r,g,b)是一个宏 实际上它做得事是((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16))) rgb(r,g,b)   =   一个整型值   =   r   +   g   *   256   + b*255*256    COLORREF 是 一 个 32-bit 整 型 数 值,它 代 表 了 一 种 颜 色。你 ...
阅读全文
2013-08-26 22:11 工业·编程 ⁄ 共 1111字 暂无评论
    由于结构体中用到联合体(联合体需要确定分配内存分配大小)或其它因素,需要用char数组来保存字符串,但是在MFC中一般都是用CString来存放字条串。关于它们之间的转换,在VS2008中有时会出现异常情况。在MSDN是这样写的:     CString orig("Hello, World!");     // Convert to a char*     const size_t newsize = 100;     c...
阅读全文
//test 1 CString str(_T("求索阁")); int len = str.GetLength(); char* cstr = new char[len + 1]; cstr[len] = 0; WideCharToMultiByte(CP_OEMCP,0,str,-1,cstr, len, NULL, NULL); 小结:test1是根据方法《CString、string 和char* 之间的转换总结》而来,当str为中文时,此法有误。 //test 2 CString str2(_T("求索阁")); DWORD dwNum = WideCharToMultiByte(CP_OEMCP,NULL,str2...
阅读全文
今天进行文件操作时,将CString的GetBuffer()后直接倒到char数组后写入文件发现 每个字符与字符之间都有一个空格存在,而且有内容丢失。原来CString类对象GetBuffer(),后以后还是unicode编码,所以必须将宽字符转换成char类型那就必须用到一个函数 》》》CString、string 和char* 之间的转换总结 网上查了下解决方法如下: 在Visual C++.NET2005中,默认的字符集形式是Unicode,但在VC6.0等工程中,默认的字符集形式是多字节...
阅读全文
  在本文开始之处,先简要地说一下何为短字符和宽字符.       所谓的短字符,就是用8bit来表示的字符,典型的应用是ASCII码.而宽字符,顾名思义,就是用16bit表示的字符,典型的有UNICODE.关于windows下的ASCII和UNICODE的更多信息,可以参考这两本经典著作:《windows 程序设计》,《windows 核心编程》.这两本书关于这两种字符都有比较详细的解说.     宽字符转换为多个短字符是一个难点,不...
阅读全文