我必须将一个字符串输入到一个无符号短数组中。
这是我的实现:
unsigned short strFile [ 200 ] = {0};
cin >> strFile;
我已经包括了iostream.h
标题。
但我总是得到一个错误:
错误 C2678:二进制“>>”:未找到采用“std::istream”类型的左侧操作数的运算符
任何人都知道我应该如何解决这个问题?
我必须将一个字符串输入到一个无符号短数组中。
这是我的实现:
unsigned short strFile [ 200 ] = {0};
cin >> strFile;
我已经包括了iostream.h
标题。
但我总是得到一个错误:
错误 C2678:二进制“>>”:未找到采用“std::istream”类型的左侧操作数的运算符
任何人都知道我应该如何解决这个问题?
没有一种字符串可以与unsigned short[]
.
有普通的字符串char []
(在 C++ 中,string
除了常量外,你应该始终将其保留在其中!)和宽字符串,即wchar_t[]
(在 C++ 中,您应该始终将其保留在 中wstring
)。并且 C++11 增加了char16_t
andchar32_t
和它们对应的u16string
and u32string
。
您可以从普通输入流中读取普通字符串,例如cin
. 您可以从宽输入流中读取宽字符串,例如wcin
.
wchar_t
在 C 中曾经是 typedef unsigned short
,但 C++ 要求它是一个单独的类型。ISO/IEC 14882:2003 3.9.1/5:
Type
wchar_t
是一种独特的类型,其值可以表示支持的语言环境 (22.1.1) 中指定的最大扩展字符集的所有成员的不同代码。