m_str=_T("");
m_str为cstring
请问_T是个什么函数
m_str为cstring
请问_T是个什么函数
解决方案 »
- CStatusBar问题(怎样得到某格的区域CRect)
- 怎样使Combo Box控件隐藏下拉列表?
- GUID转换成字符串,和把字符串转换成GUID的函数是什么来着?
- vc中调用Word的问题!
- 问一个:CFileDialog类的多重选择问题!
- 请问,C#包含VC吗?就是说C#有VC功能强大吗?又问:VC.NET与C#有何区别?
- 求教各位高手一点小问题——怎样在VC中定义全局函数呢。
- about char* const question
- 怎样分离时间字符串?提取2002-10-23中的年月日
- 请问:这种情况下,为什么明明是在列表项里的,却看不到呢,谢谢
- 关于vc的调试!!!!!
- (CSocket)Listen()函数疑惑,请作过C/S的兄弟给说说,在线等.......
他就把里面的ansi字符串转变为wide字符串~~
如果没定义了_UNICODE,没效果
如果在使用它之前有 #define _UNICODE
那么之后的字符为Unicode字符,
如果没有 #define _UNICODE
则定义的是Ansi的字符举个例子:
#define _UNICODE
m_str = _T("abc");
那么结果是 'a', 0x00, 'b', 0x00, 'c', 0x00, 0x00, 0x00#undefine _UNICDOE
m_str = _T("abc")
内容将会是 'a', 'b', 'c', 0x00
如果程序中没有定义 UNICODE
被编译器忽略。
如果定义了UNICODE,
把后面的字符串转换成双字节形式.在 Project --- Settings --- C/C++ ---
Gategory:General ---Preprocessor Definitions
定义是否使用 UNICODE
如果要使用,就把 _MCBS 改成 _UNICODE比如,如下程序
#include <iostream>
#include <TCHAR.h>
using namespace std;
int main(int argc,char* argv[])
{
TCHAR str1[]=_T("1234中国");
cout<<"sizeof str1= "<<sizeof(str1)<<endl;
return 0;
}如果定义了_MBCS (没有定义 _UNICODE,这是默认情况)
运行结果是
sizeof str1= 9
(因为 "1234" 4个字节,"中国" 4个字节, '\0' 1个字节,一共 9字节)
如果定义了 _UNICODE (没有定义 _MBCS)
运行结果是:
sizeof str1= 14
(因为 "1234" 8个字节,"中国" 4个字节, '\0' 2个字节, 一共 14字节)