注册 登录
编程论坛 C++教室

如何用 cout 输出宽字符

ml232528 发布于 2007-11-26 10:02, 4870 次点击
如何用 cout 输出宽字符

比如:
wchar_t s[]=L"ni hao a";

cout<<s;       //结果输出是地址
cout<<s[0];   //结果输出是115

请问该怎么输出s中的字符串
6 回复
#2
无缘今生2007-11-26 11:23
wchar_t s[]=L"ni hao a";
wchar_t是什么数据类型,没有见过。
L怎么在引号的外面?

s表示的是你声明的这个数组的首地址,你使用cout << s; 当然输出的就是s的值(也就是一个地址);
至于cout<<s[0];   的结果输出结果为什么是115,我不敢说,因为没有见过这种数据类型,可能是我少见了。
#3
静思2007-11-26 11:28
用wcout试试
#4
静思2007-11-26 11:39
楼主输入下列代码试试:
#include <iostream>
using namespace std;
int main()
{
wchar_t wsz[] = L"ni hao a";
 std::wcout<< wsz<< std::endl;
 system("pause");
 return 0;
}
#5
beyond07022007-11-26 17:36
看不懂LZ  写的代码
#6
ml2325282007-11-26 18:41
静思的方法好用 谢了
#7
静思2007-11-26 22:07
cout好像不能输出宽字符
在纯C++的环境中没办法用cout输出宽字符   
因为宽字符是这样定义的:   
  typedef   unsigned   short   wchar_t;   
   所以对于wchar_t类型的输出,cout还是按unsigned   short来做的   
  所以只能做存储,要是在命令行输出,还要转化成char类型。
1