String visualc&x2B+;-代码页宏?

String visualc&x2B+;-代码页宏?,string,visual-c++,macros,character-encoding,localization,String,Visual C++,Macros,Character Encoding,Localization,因此,在VC++中,如果您定义一个“const char*”字符串文字,编译器将使用当前的Windows代码页对其进行编码,对吗?但是,您如何知道运行应用程序的系统是否使用与字符串文本处理中使用的编译器相同的CP?是否有编译器定义的宏,您可以在启动时执行以下操作: if ( GetACP() != *Predefined_Compiler_Macro - representing the Code Page used by the compiler for string encoding* )

因此,在VC++中,如果您定义一个“const char*”字符串文字,编译器将使用当前的Windows代码页对其进行编码,对吗?但是,您如何知道运行应用程序的系统是否使用与字符串文本处理中使用的编译器相同的CP?是否有编译器定义的宏,您可以在启动时执行以下操作:

if ( GetACP() != *Predefined_Compiler_Macro - representing the Code Page used by the compiler for string encoding* )
//report error and exit app

编译器只是在两个双引号之间转储.cpp文件中的任何字节。例如,如果源文件是UTF-8编码的,那么字符串文字也将是UTF-8。只要在字符串文本中坚持使用普通的ASCII,这个问题就会变得毫无意义。面向用户的、可本地化的字符串属于资源。我不这么认为。读这个。