在 C++ 的无符号短数组中输入字符串

Input a string into an unsigned short array in C++

本文关键字:输入 字符串 数组 C++ 无符号      更新时间:2023-10-16

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

这是我的实现:

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

我已经包含了iostream.h标题。

但我总是收到一个错误:

错误 C2678:二进制">>":找不到采用类型为"std::istream"的左操作数的运算符

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

没有一种字符串可以与unsigned short[]兼容。

char []的普通字符串(在C++中,除了常量之外,您应该始终将其保留在string中!)和宽字符串,即wchar_t[](C++您应该始终将其保留在wstring中)。C++11 添加了char16_tchar32_t及其相应的u16stringu32string

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

wchar_t过去是 typedef 以在 C 中unsigned short,但C++要求它是一个单独的类型。国际标准化组织/国际电工委员会14882:2003 3.9.1/5:

类型 wchar_t 是一种非重复类型,其值可以表示在受支持的区域设置 (22.1.1) 中指定的最大扩展字符集的所有成员的不同代码。