visual studio 建立的c/c++工程,默认字符集是unicode,此时一些底层api会出问题,例如如下片段:
#ifdef UNICODE
#define GetPrivateProfileString GetPrivateProfileStringW
#else
#define GetPrivateProfileString GetPrivateProfileStringA
#endif // UNICODE
此时,调用第一个定义,会显示不了结果,不知道为什么,代码中的字符貌似还是asc编码,手动修改为下面的定义,结果没问题,所以,如果做偏底层的东西还是用asc编码的来做,既不定义为unicode编码,具体在工程的属性->配置属性->常规->字符集,设置为“未设置”,此时不知道如果代码链接数据库,而数据库中有中文会不会出错,才疏学浅,待我检验后会把结果放上来。