C++ 中的 wcin 对象是类 wistream 的对象。它用于接受来自标准输入设备(即键盘)的输入。它与标准 C 输入流 stdin 相关联。
wcin和cin的区别
cin
users char
(窄字符)作为字符类型。它可用于 ASCII 和 ANSI 字符。
对于国际化,我们需要不适合 char
的 Unicode 字符串。 wcin
使用 wchar_t
(宽字符)并可用于 Unicode 字符。
wcin 声明
extern wistream wcin;
它在<iostream> 头文件中定义。
wcin
确保在第一次类型对象期间或之前初始化对象ios_base::Init
被构造。之后wcin
对象被构造,wcin.tie()
返回&wcout
这意味着任何格式化的输入操作wcout.flush()
如果有任何字符等待输出。
wcin
中的"wc"指的是"wide character",'in'表示"input",因此wcin
表示“宽字符输入”。 wcin
对象与提取运算符 (>>) 一起使用,以接收字符流。一般语法是:
wcin >> varName;
提取运算符可以多次使用以接受多个输入:
wcin >> var1 >> var2 >> … >> varN;
wcin
对象还可以与其他成员函数一起使用,例如 getline()
, read()
等。一些常用的成员函数有:
wcin.get(wchar_t &ch):
读取一个宽字符并将其存储在 ch 中。wcin.getline(wchar_t *buffer, int length):
将宽字符流读入字符串缓冲区,当它停止时- 它已读取长度为 1 的字符或
- 当它找到 end-of-line 字符 ('\n') 或文件末尾时。
wcin.read(wchar_t *buffer, int n):
从流中读取 n 个字节(或直到文件末尾)到缓冲区。wcin.ignore(int n):
忽略输入流中接下来的 n 个字符。wcin.eof():
如果到达文件末尾 (eof),则返回一个非零值。
示例 1:带有提取运算符的 wcin:
#include <iostream>
using namespace std;
int main()
{
wchar_t word[20];
wcout << L"Enter a word: ";
wcin >> word;
wcout << word;
return 0;
}
运行程序时,可能的输出将是:
Enter a word: kathmandu kathmandu
示例 2:具有成员函数的 wcin:
#include <iostream>
using namespace std;
int main()
{
wchar_t str[50], ch;
wcout << L"Enter a string: ";
wcin.getline(str, 20);
wcout << L"Enter a character: ";
wcin.get(ch);
wcout << L"String = " << str << endl;
wcout << L"Character = " << ch << endl;
return 0;
}
运行程序时,可能的输出将是:
Enter a string: program using wcin Enter a character: h String = program using wcin Character = h
当心
建议使用在 C++11 中引入的 char16_t
和 char32_t
代替 wchar_t
,因为 wchar_t
在某些系统上是 16 位,而在其他系统上是 32 位。这使得移植变得困难。
相关用法
- C++ wcstold()用法及代码示例
- C++ wctrans()用法及代码示例
- C++ wcerr用法及代码示例
- C++ wcsftime()用法及代码示例
- C++ wcstod()用法及代码示例
- C++ wcscspn()用法及代码示例
- C++ wcsncmp()用法及代码示例
- C++ wcstok()用法及代码示例
- C++ wcsstr()用法及代码示例
- C++ wcsrchr()用法及代码示例
- C++ wctob()用法及代码示例
- C++ wcsncpy()用法及代码示例
- C++ wcslen()用法及代码示例
- C++ wcsspn()用法及代码示例
- C++ wclog用法及代码示例
- C++ wcschr()用法及代码示例
- C++ wctomb()用法及代码示例
- C++ wcstof()用法及代码示例
- C++ wcstol()用法及代码示例
- C++ wcspbrk()用法及代码示例
注:本文由纯净天空筛选整理自 C++ wcin。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。