如何通过cin实现数据输入?

2026-05-07 18:390阅读0评论SEO基础
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计798个文字,预计阅读时间需要4分钟。

如何通过cin实现数据输入?

python默认以空白字符(空格、制表符、换行符)为分隔符cin

  • std::getline(cin, str),它按换行符截断,保留中间的空格
  • 注意:如果前边刚用过 cin >>,输入缓冲区里可能残留换行符,getline 会立刻读到它,返回空行;这时得先调 cin.ignore() 清掉
  • getline 第二个参数必须是 std::string,不能传 char[](除非用带缓冲区版本 cin.getline(buf, size)

std::string name; cin >> age; // 读数字 cin.ignore(); // 跳过换行 std::getline(cin, name); // 现在才能读带空格的名字

输入失败后 cin 进入失效状态,后续读取全被跳过

cin 遇到非预期输入(比如要读 int 却输了个字母),会置位 failbit,之后所有输入操作都直接返回,不阻塞也不读数据。

阅读全文
标签:C

本文共计798个文字,预计阅读时间需要4分钟。

如何通过cin实现数据输入?

python默认以空白字符(空格、制表符、换行符)为分隔符cin

  • std::getline(cin, str),它按换行符截断,保留中间的空格
  • 注意:如果前边刚用过 cin >>,输入缓冲区里可能残留换行符,getline 会立刻读到它,返回空行;这时得先调 cin.ignore() 清掉
  • getline 第二个参数必须是 std::string,不能传 char[](除非用带缓冲区版本 cin.getline(buf, size)

std::string name; cin >> age; // 读数字 cin.ignore(); // 跳过换行 std::getline(cin, name); // 现在才能读带空格的名字

输入失败后 cin 进入失效状态,后续读取全被跳过

cin 遇到非预期输入(比如要读 int 却输了个字母),会置位 failbit,之后所有输入操作都直接返回,不阻塞也不读数据。

阅读全文
标签:C