我是c ++的新手。
我知道wchar_t很宽泛。
以下代码有什么问题?我没有包含适当的库??
#include<iostream.h>
#include<conio.h>
void main()
{
wchar_t *s=L"Hello, World";
cout<<s;
getch();
}
答案 0 :(得分:3)
简单,停止使用Borland Turbo C - 在我差不多20年前第一次拿到3.1版时,它已经过时了。那个时代的Turbo C没有iostream(没有扩展名)文件,因为它是在stl之前发布的。在那之前,函数确实在iostream.h中找到了
因此,我希望它也没有定义wchar_t - 我甚至不记得那时是否有多字节的东西,unicode当然不是一个考虑因素..
为了它的价值,我仍然在5 1/4“软盘上得到了Turbo C的副本 - 是的!软盘上的软盘......从本世纪获得编译器!
获取Code ::块MinGW(约70MB下载),或Visual Studio Express(几百),地狱 - 甚至DevCpp都不如Turbo C那么古老。
(哦,你告诉我,通过包含conio.h,你绝对有可能选择你的编译器)
答案 1 :(得分:2)
这里有很多问题,虽然都很小:
#include<iostream.h>
这应该是#include <iostream>
标准C ++标题最后没有.h
。
void main()
main
应该返回int
,而不是void
。
wchar_t *s=L"Hello, World";
cout<<s;
要编写一个宽字符串,您希望使用wcout
命名空间中的std
,所以这应该是这样的:
std::wcout << s;
请注意getch
:
getch();
...很常见,但从技术上讲并非标准,因此您无法在真正的可移植代码中使用它。如果您只关心Windows,那可能不是您的担忧。