-1

符号なしの短い配列に文字列を入力する必要があります。

これが私の実装です:

unsigned short strFile [ 200 ] = {0};
cin >> strFile;

iostream.hヘッダーを含めました。

しかし、私はいつもエラーが発生します:

エラー C2678: バイナリ '>>' : 型 'std::istream' の左側のオペランドを取る演算子が見つかりません

これをどのように解決すればよいか知っている人はいますか?

4

1 に答える 1

3

と互換性のある種類の文字列はありませんunsigned short[]

通常の文字列char [](C++ ではstring定数以外は常に保持する必要があります) とワイド文字列wchar_t[](C++ では常に保持する必要がありますwstring) があります。そして C++11 はchar16_tandchar32_tとそれに対応するu16stringandを追加しu32stringます。

のような通常の入力ストリームから通常の文字列を読み取ることができますcinのようなワイド入力ストリームからワイド文字列を読み取ることができますwcin

wchar_t以前は C では typedefunsigned shortでしたが、C++ では別の型である必要があります。ISO/IEC 14882:2003 3.9.1/5:

Typewchar_tは、サポートされているロケール (22.1.1) で指定された最大の拡張文字セットのすべてのメンバーの個別のコードを値で表すことができる個別の型です。

于 2012-10-09T10:49:19.070 に答える