C ++ wchar_t错误未定义

时间:2012-11-04 02:16:22

标签: c++ wchar-t

我是c ++的新手。

我知道wchar_t很宽泛。

以下代码有什么问题?我没有包含适当的库??

#include<iostream.h>
#include<conio.h>
void main()
{
wchar_t *s=L"Hello, World";
cout<<s;
getch();
}

2 个答案:

答案 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,那可能不是您的担忧。