我有遺留的代碼,我正在增量移植到Visual C++中的Unicode字符(wchar_t)。我遇到的這段代碼,我想轉換:如何使用wchar_t字符串在VIsual C++中拋出異常?
char tmp[256];
sprintf(tmp, "stuff");
throw exception(tmp);
我想將它更改爲這樣的事情(這使我對異常的編譯錯誤):
wchar_t tmp[256];
swprintf(tmp, "stuff");
throw exception(tmp);
到目前爲止,我還沒有找到任何文件給我的拋出異常的Unicode等價物,任何人都可以幫助我?
當然,我可以將我的「tmp」轉換回char字符串,但這似乎很愚蠢,必須這樣做。
這是標準C++庫的問題,它沒有接受wchar_t *的std :: exception構造函數。 Unicode在C++中受到冷遇。你將不得不做一些像轉換爲utf-8一樣的東西。 –
我希望這不會是答案!儘管感謝您的幫助。 –