语过天晴
积累学习的点滴,提高自己,方便他人!

VS2005设置UNICODE或ASCII字符集问题

VS2005开发程序时,默认的字符集是Unicode。所以如果程序中使用字符常量一定要显示转换为Unicode型,否则编译时报错。

如果你不希望程序支持Unicode字符集,更改项目设置就可以了。

project->properties->configurations Properties -> General ->Project Defaults -> Charater Set中将Unicode字符集改为未设置即可,或者改为使用多字节字符集。

在程序中使用各种字符集的方法:  
   
              const   char   *   p   =   "Hello";   //   使用   ASCII   字符集  
              const   char   *   p   =   "你好";   //   使用   MBCS   字符集,由于   MBCS   完全兼容   ASCII,多数情况下,我们并不严格区分他们  
              LPCSTR   p   =   "Hello,你好";   //   意义同上  
               
              const   WCHAR   *   p   =   L"Hello,你好";   //   使用   UNICODE   字符集  
              LPCOLESTR   p   =   L"Hello,你好";   //   意义同上  
               
              //   如果预定义了_UNICODE,则表示使用UNICODE字符集;如果定义了_MBCS,则表示使用   MBCS  
              const   TCHAR   *   p   =   _T("Hello,你好");    
              LPCTSTR   p   =   _T("Hello,你好");   //   意义同上  
    在上面的例子中,T是非常有意思的一个符号(TCHAR、LPCTSTR、LPTSTR、_T()、_TEXT()...),它表示使用一种中间类型,既不明确表示使用   MBCS,也不明确表示使用   UNICODE。那到底使用哪种字符集那?嘿嘿......编译的时候决定吧。设置条件编译的方式是:VC6中,"Project\Settings...\C/C++卡片   Preprocessor   definitions"   中添加或修改   _MBCS、_UNICODE;VC.NET中,"项目\属性\配置属性\常规\字符集"

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/scarletty/archive/2009/12/07/4954877.aspx

 

posted on 2010-12-08 21:24  语过天晴  阅读(650)  评论(0)    收藏  举报

01.