最近写了这样一个函数,在VC 2008编译和运行都是正确的
inline wchar_t* NewCharArray(const std::wstring& str)
{
wchar_t* pResult = new wchar_t[str.length() + 1];
swprintf(pResult, str.length() + 1, L"%s", str.c_str());
return pResult;
}
由于软件要支持 NT4.0,所以必须切换到VC 2003的编译环境。
但是在VC 2003下,swprintf似乎总是错误的,经过一段时间的脑袋变大的调试之后,
google了一下,发现这个是VC 2003 运行库的bug;在工程设置中把wchar_t设置为内置类型,算是绕过去了。
:-(
visual C++ 2003中swprintf的问题
最新推荐文章于 2023-03-17 09:48:46 发布