通過內聯方法GetAnsiStringSize()對WideCharToMultiByte的調用引用WC_NO_BEST_FIT_CHARS。WC_NO_BEST_FIT_CHARS未定義?
但上述符號是未定義的,我無法確定我應該怎麼做來定義它。谷歌搜索和MSDN未能發現任何線索,除了它是上述函數調用的標準符號之外。
通過內聯方法GetAnsiStringSize()對WideCharToMultiByte的調用引用WC_NO_BEST_FIT_CHARS。WC_NO_BEST_FIT_CHARS未定義?
但上述符號是未定義的,我無法確定我應該怎麼做來定義它。谷歌搜索和MSDN未能發現任何線索,除了它是上述函數調用的標準符號之外。
WC_NO_BEST_FIT_CHARS
在定義winnls.h爲
#if(WINVER >= 0x0500)
#define WC_NO_BEST_FIT_CHARS 0x00000400 // do not use best fit chars
#endif /* WINVER >= 0x0500 */
所以你最好檢查什麼的WINVER
值是在您的應用程序/項目/解決方案
#include <windows.h>
是所有應該需要的。
已經做到了。仍然有錯誤。 – 2012-03-07 18:04:10
的埃德溫·寫...其實我有非常相同的問題,一個我解決它,如下所示:
1)進入http://msdn.microsoft.com/es-es/library/aa383745.aspx並搜索適用於您的操作系統版本的價值NTDDI_VERSION。例如,對於Windows 8,我有:0x0602
2)在你的代碼類型:
#define WINVER 0x0602
3)WC_NO_BEST_FIT_CHARS的錯誤,在我看來,因爲msclr ::互操作:: marshal_as的用法。 ...所以,最後不要忘記添加你的標頭
希望這對你們有幫助!
就是這樣!謝謝! – 2012-03-07 19:43:16