C++ 将字符串输入到C++;

C++ 将字符串输入到C++;,c++,C++,我必须在无符号短数组中输入一个字符串 以下是我的实现: unsigned short strFile [ 200 ] = {0}; cin >> strFile; 我已经包含了iostream.h标题 但我总是会出错: 错误C2678:二进制'>>':未找到接受'std::istream'类型的左操作数的运算符 有人知道我该如何解决这个问题吗?没有一种字符串与无符号短[]兼容 有一个正常的字符串,即 char []/Cuth>(在C++中,你应该总是把它放在字符串中,除了常量!)和

我必须在无符号短数组中输入一个字符串

以下是我的实现:

unsigned short strFile [ 200 ] = {0};
cin >> strFile;
我已经包含了
iostream.h
标题

但我总是会出错:

错误C2678:二进制'>>':未找到接受'std::istream'类型的左操作数的运算符


有人知道我该如何解决这个问题吗?

没有一种字符串与
无符号短[]
兼容

有一个正常的字符串,即<代码> char []/Cuth>(在C++中,你应该总是把它放在<代码>字符串中,除了常量!)和宽字符串,即<代码> W查尔特T[]/Cuff>(C++中,你应该总是把它保存在<代码> WString )中。C++11添加了

char16\u t
char32\u t
及其相应的
u16string
u32string

您可以从正常输入流中读取正常字符串,如
cin
。您可以从宽输入流中读取宽字符串,如
wcin

<代码> WCARGYT 在C++中使用TyPoEF到<代码>未签名的短,但是C++要求它是一个单独的类型。ISO/IEC 14882:2003 3.9.1/5:

Type
wchar\u t
是一种独特的类型,其值可以表示支持的区域设置(22.1.1)中指定的最大扩展字符集的所有成员的独特代码


没有使用std::string的任何具体原因?std::wstring基本上不是一个无符号的短数组吗?像
std::wstring x;std::getline(std::wcin,x)?@stijn:No,
std::wstring
wchar\u t
数组<代码> WCARGYT T/代码>要求采用C++标准的不同类型。在C中,可能是TyErdof到<代码>未签名的短,但是在C++中可能不行。管他的联合数组是什么?哦,我会解决它的…
#include
已经有14年多不正确了。
未签名的short*
仍然在WinAPI中使用,例如在
SEC\u WINNT\u AUTH\u IDENTITY
结构中。