我是 C++ 新手。
我知道 wchar_t 是宽字符。
下面的代码有什么问题??我没有包括适当的图书馆吗?
#include<iostream.h>
#include<conio.h>
void main()
{
wchar_t *s=L"Hello, World";
cout<<s;
getch();
}
很简单,停止使用 Borland Turbo C - 大约 20 年前我第一次使用 3.1 版本时它已经过时了。那个时代的 Turbo C 没有 iostream(无扩展名)文件,因为它是在 stl 之前发布的。在此之前,确实在iostream.h中找到了这些函数
因此,我希望它也没有定义 wchar_t - 我什至不记得当时是否存在多字节的东西,unicode 当然不是考虑因素。
对于它的价值,我仍然在 5 1/4" 软盘上获得了 Turbo C 的副本 - 是的!软盘...获取本世纪的编译器!
使用 MinGW(约 70MB 下载)或 Visual Studio Express(数百)获取 Code::Blocks,地狱——即使 DevCpp 也没有 Turbo C 过时。
(哦,您已经向我表明,通过包含 conio.h,您极有可能选择编译器)
这里有很多问题,虽然都很小:
#include<iostream.h>
这应该是#include <iostream>
标准 C++ 头文件末尾没有 a .h
。
void main()
main
应该返回一个int
,而不是void
。
wchar_t *s=L"Hello, World";
cout<<s;
要编写一个宽字符串,您要使用命名空间wcout
中的std
,所以它应该如下所示:
std::wcout << s;
请注意getch
:
getch();
... 很常见,但在技术上不是标准的,因此您不能在真正可移植的代码中使用它。但是,如果您只关心 Windows,那么您可能不必担心。