gpt4 book ai didi

visual-c++ - 如何使用 wchar_t 字符串在 VIsual C++ 中抛出异常?

转载 作者:行者123 更新时间:2023-12-04 14:41:18 24 4
gpt4 key购买 nike

我有遗留代码,我正在逐步将其移植到 Visual C++ (wchar_t) 中的 Unicode 字符。我遇到了这段我想转换的代码:

char tmp[256];
sprintf(tmp, "stuff");
throw exception(tmp);

我想把它改成这样(这会给我一个异常编译错误):

wchar_t tmp[256];
swprintf(tmp, "stuff");
throw exception(tmp);

到目前为止,我还没有找到任何文档为我提供抛出异常的 Unicode 等价物,任何人都可以帮助我吗?

当然,我可以将我的“tmp”转换回 char 字符串,但必须这样做似乎很愚蠢。

最佳答案

std::exception不支持 wchar_t字符串,所以你必须转换你的 wchar_t缓冲到一个单独的 char缓冲区,或者不要切换到 wchar_t缓冲区以 sprintf() 开头不支持通过其 %S 格式化 Unicode 输入和 %ls格式说明符,例如:

char tmp[256]; 
sprintf(tmp, "%ls", wchar_t data here);
throw exception(tmp);

关于visual-c++ - 如何使用 wchar_t 字符串在 VIsual C++ 中抛出异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8434602/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com