3

私はc ++が初めてです。

wchar_t がワイド文字であることは知っています。

次のコードのどこが間違っていますか?? 適切なライブラリを含めませんでしたか??

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

2 に答える 2

3

簡単です。Borland Turbo C の使用をやめてください。20 年近く前にバージョン 3.1 を初めて手にしたときは古いものでした。その時代の Turbo C には、stl よりも前にリリースされたため、iostream (拡張子なし) ファイルがありません。それ以前は、関数は実際に iostream.h にありました。

そのため、wchar_t も定義されていないと思います。当時マルチバイトがあったかどうかさえ覚えていませんが、Unicode は考慮されていませんでした..

おまけに、5 1/4 インチのフロッピー ディスクに入っている Turbo C のコピーをまだ持っています。そうです!フロッピー フロッピーは...今世紀のコンパイラを手に入れましょう!

Code::Blocks を MinGW (~70MB のダウンロード)、または Visual Studio Express (数百) で入手してください。

(ああ、あなたは、conio.h を含めることで、コンパイラを選択する可能性が圧倒的に高いことを私に示しました)

于 2012-11-04T03:03:22.187 に答える
2

ここには多くの問題がありますが、すべてかなりマイナーです。

#include<iostream.h>

標準の C++ ヘッダーには末尾に#include <iostream>a がありません。.h

void main()

mainintではなくを返す必要がありvoidます。

wchar_t *s=L"Hello, World";
cout<<s;

ワイド文字列を書き込むにwcoutは、std名前空間にある を使用する必要があるため、次のようになります。

std::wcout << s;

次の点に注意してくださいgetch

getch();

... は一般的ですが、技術的には標準ではないため、真に移植可能なコードでは使用できません。ただし、Windows だけに関心がある場合は、気にする必要はないかもしれません。

于 2012-11-04T02:21:58.977 に答える