C++getline和 cin的探讨

2023-05-16

在这里插入图片描述
从结果可以看出,cin是会把空格部分舍弃的。

在这里插入图片描述
如果是输入一个 然后空格在输入其他的,因为cin默认把空格去调,则后面的字符我的理解就是溢出?所以报错了。

getline功能就比较强大了,
在这里插入图片描述
把空格保存了下来。

要注意的是cin和getline不能同时用。

在这里插入图片描述
getline用法。

还有可以注意一哈,cin.getline(name,20)意味是限制输入

/*第四章:编程练习 2 */
#include <iostream>
#include <string>
/* 使用string应当修改#include指令,添加string头文件 */
using namespace std;
/* 预编译指令*/

int main()
{
    string name;
    string dessert;
    /* string能够自动维护字符串长度,因此不需要长度常量 */
    cout<<"Enter your name:\n";
    // getline(cin,name);
    cin >> name;
    cout<<"Enter your favorite dessert:\n";
    // getline(cin,dessert);
    cin >> dessert;
    /* getline()函数参数和字符数组的cin.getline()不同,这点需要重视 */
    cout<<"I have some delicious "<<dessert;
    cout<<" for you, "<<name<<"\n";
    return  0;
}
/* main()函数结束,返回值和花括号 */
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++getline和 cin的探讨 的相关文章

  • 检查输入是否为整数

    为了学习 C 我正在翻译我用 Python 编写的程序 我写了这个 n 0 while n lt 2 try n int raw input Please insert an integer bigger than 1 except Val
  • 在 C++ 中使用 getline 忽略空格[重复]

    这个问题在这里已经有答案了 嘿 我正在尝试编写一个程序 该程序将接受人们的新任务 将其添加到堆栈中 能够显示任务 能够将该堆栈保存到文本文件中 然后读取文本文件 当我尝试接受用户的输入时 问题就出现了 每当您输入带有空格的字符串时 选择要执
  • getline 无法正常工作?可能是什么原因? [复制]

    这个问题在这里已经有答案了 可能的重复 getline 不要求输入 我的程序中发生了一些独特的事情 以下是一些命令集 cout lt lt Enter the full name of student cin name getline ci
  • 你能指定 std::getline 中什么不是分隔符吗?

    我希望它将任何非字母字符视为分隔符 我怎样才能做到这一点 你不能 默认分隔符是 n while std getline std cin str n is implicit 对于其他分隔符 请传递它们 while std getline st
  • 为什么 std::getline 调用 std::cin 不等待用户输入? [复制]

    这个问题在这里已经有答案了 有什么充分的理由吗 std string input std getline std cin input getline 调用不会等待用户输入 cin的状态是不是有点混乱了 您很可能在读取其他数据后尝试读取字符串
  • “numeric_limits”未在此范围内声明,没有匹配的函数可用于调用“max()”

    我在家里用 xcode 在我的 mac 上编译了这段代码 没有出现任何问题 我在学校用 g 在 Linux 上编译它 并收到以下错误 numeric limits 不是 std 的成员 gt 标记之前的预期主要表达式 没有匹配的函数来调用
  • GNU getline 接口是否有替代实现?

    我目前正在进行的实验使用的软件基础具有复杂的源历史记录并且没有明确定义的许可证 合理化事情并在固定许可证下发布将需要大量的工作 它还旨在运行一个随机的 unixish 平台 并且只有我们支持的一些 libc 具有 GNU getline 但
  • 读取空行 C++

    我遇到的情况是 我有一个循环 每次它读取一个字符串 但我不知道如何读取空白输入 即如果用户什么都不输入并按回车键 它会保留在那里 我想将其读取为字符串并移至下一个输入 下面是代码 int times 4 while times string
  • cin >> i 输入符号 + 时出错

    在 C 程序中 我尝试处理由散布有运算符 的整数操作数组成的用户输入 我可以要求用户在每个运算符之前和之后添加空格 我的方法是假设任何不是 int 的东西都是运算符 因此 一旦流上出现非 eof 错误 我就会调用 cin clear 并将下
  • 为什么 getline 函数不能在具有结构数组的 for 循环中多次工作? [复制]

    这个问题在这里已经有答案了 我有一个小问题 我创建了一个程序 要求用户输入四个不同零件的零件名称和零件价格 每个名称和价格都填充一个结构 我有一个由四个结构组成的数组 当我执行 for 循环来填充所有名称和价格时 我的 getline 函数
  • 如何将一行数字读入不同的变量中? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 程序看起来像 include
  • std::cin 在读取 EOF 并清除后不再读取

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我正在阅读以下内容std cin with a while循环结束时EOF被介绍 退出循环后 我调用std cin clear 使流恢复正常
  • 为什么从管道读取时 libc++ getline 会阻塞,而 libstdc++ getline 不会?

    TL DR 一个程序使用libc 的版本getline当函数从管道读取输入时 它将阻塞 直到管道的缓冲区已满 相同的是NOT为真libstdc 的版本getline函数 这里 一旦输入行可用 该函数就会立即读取并返回一行输入 我是否应该预料
  • 需要 getline() 的帮助[重复]

    这个问题在这里已经有答案了 如果在我的程序中我要求用户输入 并且我这样做 是否有原因 int number string str int accountNumber cout lt lt Enter number cin gt gt num
  • std::cin 用于双精度和字符串

    我正在做货币兑换练习 程序应从输入流中读取货币的金额和名称 并以本国货币返回其值 double amount 0 0 std string currency std cout lt lt Please enter amount and cu
  • 如何阻止程序跳过 getline? [复制]

    这个问题在这里已经有答案了 这是我的主要程序 int main string command cin gt gt command if command keyword string str str2 str3 str4 cout lt lt
  • getline 如何像使用 fgets 一样限制输入量

    GNU手册 https www gnu org software libc manual html node Line Input html 这段话来自 GNU 手册 警告 如果输入数据有空字符 您将无法辨别 所以 除非您知道数据不能包含空
  • C++ getline 在 Windows 中读取整个文件

    这看起来像一个类似的问题this one https stackoverflow com questions 12152311 c getline reads entire file 但是我认为我的情况实际上可能有点不同 代码如下 void
  • std::cin 跳过空格

    所以我试图编写一个函数来检查一个单词是否在句子中 通过循环遍历 char 数组并检查相同的 char 字符串 只要句子中没有任何空格 该程序就可以运行 我用谷歌搜索了一下 他们都是同样的建议 cin getline 但无论我如何实现它 它要
  • 如何使 std::cin 读取空格? [复制]

    这个问题在这里已经有答案了 我知道这个问题之前已经在这个网站上被问过 但我似乎无法掌握如何让它与我的特定程序一起工作 本质上 我正在创建一种小型 MadLibs 类型的游戏 玩家必须输入某些内容才能将其融入故事中 现在 如果用户输入中没有空

随机推荐

  • 蓝桥杯STM32F103RB数码管计时(秒表)

    STM32F103RB数码管定时 xff08 秒表 xff09 硬件单路 96 配置TIM2及其中断代码片如下 示例 96 96 中断执行函数代码片如下 示例 96 96 seg c 数码管 代码片如下 示例 96 完整工程下载 gt gt
  • 第七届蓝桥杯嵌入式(省赛)程序题

    第七届蓝桥杯 xff08 省赛 xff09 解读 43 程序 解读 xff1a 这里自己多读几遍设计任务以及要求再看下面 96 A 先搭总体框架 96 各初始化函数 96 LCD初始化 96 96 按键初始化 96 96 ADC初始化 96
  • STM32普通io口模拟pwm输出的三种方法

    STM32F103RB普通io口模拟pwm输出的第三种方法 xff08 周期占空比可调 xff09 第 xff08 一 xff09 种定时器中断产生pwm 96 第 xff08 一 xff09 种代码片 96 第 xff08 二 xff09
  • STM32 RS232通信实验

    stm32F103 RS232通信实验 什么是RS232 软件设计 完整工程下载 什么是RS232 先来看看UART传输所存在的问题 于是就有了RS232协议 这里注意使用的是负逻辑电平信号 在规定范围内的电平信号代表逻辑1或0 xff0c
  • MDK中变量无法添加到逻辑分析仪中原因

    MDK中变量无法添加到逻辑分析仪中原因 解决方法 去掉static 提示无法将变量添加到逻辑分析仪中 解决方法 去掉static 设置为bit 全速运行
  • 三,FreeRTOS之——动态创建多任务+优先级

    声明 xff1a 本专栏参考韦东山 xff0c 野火 xff0c 正点原子以及其他博主的FreeRTOS教程 xff0c 如若侵权请告知 xff0c 马上删帖致歉 xff0c 个人总结 xff0c 如有不对 xff0c 欢迎指正 动态创建多
  • ESP8266组网+STM32数据传输项目

    ESP8266 43 STM32数据传输项目 实验硬件 xff1a 项目关键词 xff1a 项目描述项目涉及知识 xff1a 1 ESP8266开发2 MQTT协议3 STM32 整体开发流程 xff1a 实验硬件 xff1a ESP826
  • 十一,FreeRTOS之——互斥信号量(优先级反转,优先级继承,递归锁)

    声明 xff1a 本专栏参考韦东山 xff0c 野火 xff0c 正点原子以及其他博主的FreeRTOS教程 xff0c 如若侵权请告知 xff0c 马上删帖致歉 xff0c 个人总结 xff0c 如有不对 xff0c 欢迎指正 互斥量理论
  • (一)裸机开发框架构建之---开发框架思想

    裸机开发框架构建 声明 xff1a 本专栏通过查阅资料以及自己对开发框架的理解所编写 xff0c 如有错误 xff0c 还请指正 为什么要使用框架 xff1f xff1f xff1f 我的框架分层思想体现 声明 xff1a 本专栏通过查阅资
  • PX4添加外置IMU传感器MPU-9250

    使用PX4 v1 13 2代码 xff0c 淘宝购买的MPU 9250传感器 MPU 9250 芯片架构图 实物图 手册 寄存器 https invensense tdk com wp content uploads 2015 02 RM
  • (二)裸机开发框架构建之---点灯大师

    裸机开发框架构建 3 设备管理层抽象出结构体初始化结构体第一种初始化方法 xff08 c89标准 xff09 第二种初始化方法 xff08 C99标准 xff09 2 硬件接口层1 硬件层硬件LED层初始化函数硬件层LED控制函数 4 应用
  • 1.freertos应用系列之cubemx创建freertos

    freertos应用全系列 xff08 写完关联更新 xff09 01 freertos应用系列之cubemx创建freertos 11 freertos应用系列之cubemx创建freertos 02 freertos应用系列之cubem
  • docker中镜像源推荐

    1 xff0c 个人建议使用 网易镜像源 镜像源有以下5种 1 网易 http hub mirror c 163 com 2 Docker中国区官方镜像 https registry docker cn com 3 ustc https d
  • VScode创建C++项目

    VScode创建C 43 43 项目 假设系统已经安装了MinGW64 插件 常用插件 创建Project 配置json文件 需要修改的地方都在下方注释说明 根据MinGW64安装位置进行修改 c cpp properties json s
  • C++的一个问题点,数组作为参数传递到函数之后,不能直接求出长度

    YU 原数组 xff0c 传递参数之后 结果是作为参数传进去之后是作为指针 xff0c 是不能求出长度的 xff0c 所以需要把长度提前求出作为参数传入该函数 反思 xff1a 最近C 43 43 Python xff0c java轮流用
  • 基于from flask import Flask,render_template 上传网页遇到的问题

    我们要上传多个页面形成一个网站 xff0c 首先我们需要在index xff08 一般这个都是首页面 xff09 查看其源码 找到类似 这段代码里面包括了前面的网站 xff0c 所以这时候我们只需要把它变成带使用的状态 xff0c 操作就是
  • 跨交换机的VLAN设置

    实现目标 xff1a 进行多台主机多个vlan接口进行互相通信 需要知识 xff1a 1 不同的vlan接口的是不能进行通信的 2 在要跨越多个交换机进行通信的时候要对进行交互的交换机进行共享vlan端口的设置 3 在设置网络号的时候应该注
  • Wireshark抓取cookie:用户名...,TCP报文等信息实战

    这里我们要先安装Wireshark xff0c 这里要注意的是一些低级版本刚刚下下来的时候是找不到网络接口的 xff0c 所以这时候要更新 xff0c 然后再下应该WinPro xff08 应该是这个 xff09 xff0c 之后就有网络接
  • 计算机网络知识点总结提纲(谢希仁)

    1 IOS OSI对王道书上的缩减总结 清晰pdf xff1a 链接 xff1a https pan baidu com s 1f6DqMsHky4kP8i9WQLvCew pwd 61 the3 提取码 xff1a the3 来自百度网盘
  • C++getline和 cin的探讨

    从结果可以看出 xff0c cin是会把空格部分舍弃的 如果是输入一个 然后空格在输入其他的 xff0c 因为cin默认把空格去调 xff0c 则后面的字符我的理解就是溢出 xff1f 所以报错了 getline功能就比较强大了 xff0c