编程论坛
注册
登录
编程论坛
→
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
beyond0702
2007-11-26 17:36
看不懂LZ 写的代码
#6
ml232528
2007-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