TextOutA(),TextOutW(),TextOut()的区别?+宽字符问题

   今天建了个单文档应用程序作为MFC入门练习之一,在OnDraw()成员函数中有一句我是这样写的:  
pDC->TextOut(200,202,L"I love fishc.com");当写到TextOut时,VS2010自动提示补了个W,即我又试了一下pDC->TextOutW(200,202,L"I love fishc.com");发现也没有问题,那难道真没有区别吗?我百度了一下,发现不完全等价(也是,否则搞两个名字还没区别有意思么 ):而且还有个TextOutA();
 * TextOutA()是TextOut()的ASCII版本   
 * TextOutW()是TextOut()的Unicode版本       
 * 如果程序中定义了   _UNICODE     编译的时候编译器会自动链接TextOutW()   
 * 如果程序中没有定义   _UNICODE     编译的时候编译器就会自动链接TextOutA()
 * 使用的时候只用TextOut就可以了,不同在于操作系统的调用
其实还涉及到宽字符的一点小问题:for example:
在Visual Studio 2010中,pDC->TextOut(0,0, "Hello World!");会有问题,应该对应
pDC->TextOut(0,0, _T ("Hello World!"));   或者
pDC->TextOut(0,0, L "Hello World!");     
      以上两种没有问题了!还有人说pDC->TextOutA(0,0,"Hello World!");也是一种,我也试了一下,发现 不行,路过的同志如果觉得以上所有内容还有补充的话,请给点意见,我会及时采纳,感激不尽~ 感激不尽呐~  

你可能感兴趣的:(C++,mfc,宽字符,khufly)