c/c++输入带空格、tap、换行符的字符串

2023-05-16

1.scanf

charstr[10];

scanf("%s",str);

123 adw

其实只输入了 123

1)      不读入空格和回车还有tap键,从空格处结束

2)      输入字符串长度超过字符数组元素个数不报错,只是不读入

3)      当输入项为字符指针时,指针必须已指向确定的有足够空间的连续存储单元 

4)      当为数组元素地址时,从此元素地址开始存放

printf("%s",地址值)

输出时遇到第一个'\0'为止

2.gets和puts函数

开头必须stdio.h头文件

gets输入时包括空格符,遇到回车结束

puts遇到第一个‘\0’结束,自动加入换行符

3.cin

使用空白(空格,制表符和换行符)来定字符串的界的

4.getline()

读入整行数据,它使用回车键输入的换行符来确定输入结尾。

调用方法: cin.getline(str, len);

第一个参数str是用来存储输入行的数组名称,第二个参数len是要读取的字符数。

string型:getline(cin, str)

5.get()

调用方法:cin.get(str, len);

getline将丢弃换行符,而get()将换行符保留在输入序列里,但是字符串中并没有换行符。两者都是读取一行输入,直至换行符。然后,getline将换行符丢弃,而get()将换行符保留在输入序列里,使用cin.get()输入多行数据时,中间可以使用get()消除换行符。

例题演示:标题统计

 

#include <iostream>
#include <algorithm>
#include <string>
using namespace std;

int main(){
    int count=0,i;
string a;
getline(cin,a);//输入带空格、tap的字符串
for(i=0;i<a.length();i++)//a.length()统计字符串长度
if(a[i]!=' '&&a[i]!='\n'&&a[i]!='\t')//当空格、换行、tap键盘时不统计
    count++;
    cout<<count;
	return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

c/c++输入带空格、tap、换行符的字符串 的相关文章

  • Android R源码Settings之NFC与Tap&pay

    Android R 又对 Tap amp pay菜单 进行了更新 xff0c 变得更加合理化 xff0c 人性化了 编辑于2020 4 20 12 24 10 xff09 Android R Tap amp pay菜单 如图可知 xff0c
  • c/c++输入带空格、tap、换行符的字符串

    1 scanf charstr 10 scanf 34 s 34 str 123 adw 其实只输入了 123 1 不读入空格和回车还有tap键 从空格处结束 2 输入字符串长度超过字符数组元素个数不报错 xff0c 只是不读入 3 当输入
  • 用TAP方式让QEMU虚拟机与host联网

    转载自 cgjvcd 最终编辑 cgjvcd QEMU虚拟机网络的缺省模式是NAT方式 xff0c 即虚拟机可以通过host访问外网 xff0c 但host和外网无法访问虚拟机 如果要想让host访问虚拟机 xff0c 则可以使用TAP方式
  • 启用tun设备开启tap虚拟网卡功能

    注意 该文章中的arp应答部分是有问题的 由于作者现在已经没有实验环境无法再进行修正了 望看该文章的人注意一下 关于tun设备启用tap网卡 就是启用一个字符设备 使用open函数得到一个tun设备的文件描述符 可以使用write和read
  • 如何在 OSX 中点击/挂钩键盘事件并记录哪个键盘触发每个事件

    我现在已经发现了如何在 OS X 上低级别挂接 点击键盘事件 如何在 MacBook 键盘上点击 钩住 F7 到 F12 以及电源 弹出 打印出该答案的代码 compile and run from the commandline with
  • iOS - 多次点击手势识别器

    在我的应用程序中 我必须检测单击 双击和三次点击 所以 我正在使用 UITapGestureRecognizer 我正在使用以下代码 UITapGestureRecognizer oneTap UITapGestureRecognizer
  • 当被测试者在 Perl 中使用 TAP 失败退出时,是否可以测试预期的错误?

    假设您正在运行一些单元测试 并且您想查看正在测试的方法 或脚本或函数或其他内容 是否失败 如何设置这样的测试 我希望有这样的事情 ok obj gt method my bad params DEATH method dies as exp
  • 为什么 Task.WhenAll 上的等待不抛出 AggregateException?

    在此代码中 private async void button1 Click object sender EventArgs e try await Task WhenAll DoLongThingAsyncEx1 DoLongThingA
  • 如何检测屏幕脚轮android,检测点击压力

    我开发了一个玩起来很有趣的应用程序 但有一些顽皮的人通过使用不同类型的方式破坏其他人的乐趣屏幕脚轮然后玩弄自动化脚本并欺骗用户 这是一个链接 http code google com p androidscreencast 一位非常著名的屏
  • 用于 Verilog 或 SystemVerilog 的 TAP(测试任何协议)模块

    是否有 TAP 测试任何协议 http testanything org Verilog 的实现 那就太好了 因为这样我就可以使用证明来自动检查我的结果 更新 10 9 09 有人问为什么不使用断言 部分 TAP 为我提供了一些很好的报告
  • 如何使 ProgressDialog 可以通过后退按钮取消,但不能通过屏幕点击取消?

    我想做一个ProgressDialog可以通过后退按钮取消 但不能通过屏幕点击取消 目前我使用setCancelable true 然而 在一些较新的设备中 点击屏幕也会取消ProgressDialog 我想禁用屏幕点击操作Progress
  • Android 多点触控和双击协同工作以实现图像视图

    你好 我在 LinearLayout 垂直方向 中有两个图像视图 我正在为两个 Imageview 设置 setOnTouchListener 这样我就能够观察多点触摸缩放以及 ImageView 的所有拖动 当我尝试实现 OnDouble
  • 检测对标注标题的点击

    我如何检测到点击title注释的标注 我已经有一个右侧标注配件和一个左侧标注配件 但我想检测用户是否点击标题 位于标注的中心 如果这是不可能的 如何在点击标题时禁用隐藏标注 回答你的问题有点晚了 但我最近正在处理同样的问题 并通过反复试验自
  • android 点击劫持,如何防止它

    试图避免我的观点涉及从覆盖层接收反馈 以下是某人在 Android 上进行的黑客攻击示例 允许用户无意中按下系统按钮属性 甚至输入凭据来执行与最初意图完全不同的操作 http www youtube com watch v gCLU7YUX
  • Android 将 JSONArray 读入 JSONArray [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我如何读取包含 json 数组的 json 数组 这是我的 json product name myApp config grade
  • jquery Mobile Tap 和冒泡/传播

    在 android 2 x 浏览器中查看此示例 它是在我的应用程序中复制场景的示例 http johnchako net samples tap html http johnchacko net samples tap html 它是关于监
  • jQuery Mobile 将下一个输入集中在按键上

    我有一个 jquery 移动网站 其 html 表单由 4 个引脚输入框组成 我希望用户能够在每个输入字段中输入 pin 而不必按 iphone 键盘的 下一步 按钮 我尝试了以下操作 虽然它似乎将焦点设置到第二个输入并插入值 但键盘消失了
  • MKMapView 未在平移上调用 RegionDidChangeAnimated

    我有一个带有 MKMapView 的应用程序和每次地图更改位置 在 RegionDidChangeAnimated 中 时调用的代码 当应用程序最初加载时 在显式更新地图坐标的平移 滑动 捏合 点击和按钮上调用regionDidChange
  • 您可以使用 Jenkins Pipeline 解析 TAP 格式吗?

    我正在尝试解析 BATS 脚本的输出 https github com gaia adm docker bench test https github com gaia adm docker bench test 输出为 TAP 格式 我稍
  • Pipe 和 Tap VS 使用 ngxs 订阅

    我正在玩管道并订阅 如果我使用带有水龙头的管道 则控制台中不会登录任何内容 如果我使用订阅 它就可以工作 那么我做错了什么 import Observable from rxjs import tap take from rxjs oper

随机推荐

  • C语言用栈实现队列(数据结构)

    1 首先需要两个栈来模拟队列的出队和入队 2 假设入队1 2 3 4 如果要出队则不能直接出栈 需要进行数据的搬移 先把s1的数据全部放入s2中 然后再在s2出栈 gt 整个队列出队 3 如果再要入队则将入队元素放入s1 若要出队则出栈s2
  • Linux权限理解(详细详细)

    目录 一 权限的概念 二 Linux权限管理 1 文件访问者的分类 xff08 人 xff09 2 文件类型和访问权限 xff08 事物属性 xff09 3 文件权限值的表示方法 1 字符表示 2 8进制数字表示法 4 文件访问权限的相关设
  • Linux管道

    目录 1 管道概念 2 管道分类 1 匿名管道 1 基本实现与概念 2 站在文件描述符角度 深度理解管道 3 站在内核角度 管道本质 4 管道读写规则 5 管道属性设置与阻塞验证 6 管道特点 匿名 2 命名管道 1 创建一个命名管道 2
  • string类(C++)

    目录 一 简单了解string类 二 string的接口与使用 2 1string类对象的常见构造 2 2 string类对象的容量操作 2 3 string类对象的访问及遍历操作 2 4 string类对象的修改操作 一 简单了解stri
  • 力扣260:只出现一次的数字|||(异或)

    目录 题目 解析 完整代码 题目 我们首先看一下题目 给定一个整数数组 nums xff0c 其中恰好有两个元素只出现一次 xff0c 其余所有元素均出现两次 找出只出现一次的那两个元素 你可以按 任意顺序 返回答案 接口 class So
  • C++(多态)

    目录 一 多态概念 二 多态的定义及实现 2 1多态的构成条件 2 2 虚函数 2 4虚函数重写的两个例外 2 5 C 43 43 11 override 和 final 三 重载 覆盖 重写 隐藏 重定义 的对比 一 多态概念 多态的概念
  • STM32系列——串口收发数据基础

    串行接口相关知识 两种通信方式 xff1a 并行通信与串行通信 xff0c 并行通信传输速度快但是占用的引脚资源多 xff0c 串行通信传输速度慢但是占用的引脚资源少 三种模式 xff1a 单工 半双工 全双工 异步串行通信 通信双方在没有
  • 【ROS小记】树莓派ubuntu mate20.04换源

    根据网上教程更换软件源时发现报错 错误 8 http ppa launchpad net ubuntu desktop ubuntu make ubuntu focal Release 404 Not Found 以及 仓库 34 34 无
  • orb-slam2跑通EuRoC数据集,并用evo对其进行评估(详细)

    evo的安装 xff1a 打开终端 xff0c 运行下面的指令 xff1a sudo apt install python pip pip install evo upgrade no binary evo pip install evo
  • Python爬虫是什么?

    首先要知道python爬虫是一个程序 xff0c 这个程序的目的就是为了抓取万维网信息资源 xff0c 比如你日常使用的谷歌等搜索引擎 xff0c 搜索结果就全都依赖爬虫来定时获取 了解一个python爬虫离不开了解一下爬虫的基本原理 xf
  • 【struct和class的区别】

    在C中struct有以下特征 xff1a 1 C中的struct是一种数据类型 xff0c struct内不能包含函数 2 C中struct不能为空 在C 43 43 中的struct和class的区别 在c 43 43 中将struct的
  • clion的安装、汉化与配置

    这里我们就来详细介绍一下CLion的安装 汉化 激活以及配置吧 xff01 xff01 目录 一 安装1 下载安装包2 开始安装 二 汉化三 配置 xff08 MinGW xff09 1 官网下载MInGW2 开始配置 四 检验 一 安装
  • 串口通信+实例编写

    一 通信接口背景知识 1 处理器与外部设备通信的两种方式 并行通信 xff1a 传输原理 xff1a 数据各个位同时传输 优点 xff1a 速度快 缺点 xff1a 占用引脚资源多 xff08 例如 xff1a A向B进行传输时一次性可以用
  • keil手把手创建文件

    工具 xff1a Keil4 下面我们来认识一下如何创建一个Keil代码工程 首先我们在文件管理器中创建一个文件夹 然后我们打开Keil软件 xff0c 找到Project gt New Project 自定义一个名字保存 xff0c 然后
  • 1183 连接字符串

    题目描述 输入两个字符串 xff0c 设计函数连接这两个字符串 单个字符串的长度不超过100 不要使用系统提供的strcat函数 输入要求 输入2个字符串 xff0c 每个字符串以换行符结束 输出要求 输出连接好的字符串 输入样例 Coun
  • 路劲规划与轨迹跟踪学习4——人工势场法

    本文参考 85条消息 路径规划 局部路径规划算法 人工势场法 xff08 含python实现 c 43 43 实现 xff09 CHH3213的博客 CSDN博客 人工势场法路径规划 路径规划与轨迹跟踪系列算法学习 第6讲 人工势场法 哔哩
  • STM32 HAL库详解(二):UART

    在stm32编程时 xff0c 最常用的通讯方式就是串口通讯 一般使用HAL库来实现串口通讯 但有时 xff0c 我们不满足于HAL库的代码 xff0c 或者出现 玄学bug 需要了解具体原理来debug 下面将通过详解HAL库函数来解释u
  • C语言实现十进制转化为十六进制-------数组,switch语句,while循环语句

    内容目录 十进制如何转化为十六进制 思路解析 运用知识点 代码实现 1 十进制如何转化为十六进制 十六进制每位数上从大到小是0123456789ABCDEF 十进制转化为十六进制与十进制转化为八进制一样求法 xff0c 就是求余 例如十进制
  • 实测(一) NVIDIA Xavier NX + D435i / 奥比中光Astrapro 相机+ ORB-SLAM 2 + 3 稠密回环建图

    开发环境 xff1a NX 43 Ubuntu18 04 43 ROS melodic 一 ARM架构下 Realsense D435i 环境搭建 因为NVIDIA Xavier NX是一款arm架构的嵌入式开发板 xff0c 因此安装方式
  • c/c++输入带空格、tap、换行符的字符串

    1 scanf charstr 10 scanf 34 s 34 str 123 adw 其实只输入了 123 1 不读入空格和回车还有tap键 从空格处结束 2 输入字符串长度超过字符数组元素个数不报错 xff0c 只是不读入 3 当输入