宽字符的问题
- C/C++ code
#include <iostream>using namespace std;int main(){ //宽字符 wchar_t s[100]; double d = 5.1343435; swprintf(s, L"使用时间:%lf", d); wprintf(L"%s", s); //输出????5.1343435 cout<<endl; wcout<<s<<endl; //什么都没输出 char s2[100]; sprintf(s2, "使用时间:%lf", d); printf("%s", s2); //输出正常 cout<<endl; cout<<s2<<endl; //输出正常 return 0;}谁解释下中文的问题。。
[解决办法]
用<<和>>,会把宽字符转换为窄字符再输出,这其中涉及到区域问题
试试在开头加上setlocale(LC_CTYPE,"chs")来设置区域