关于识别回车符问题

2023-10-29

原来问题程序是这样的:

<pre name="code" class="cpp">#include<iostream>
#include<vector>
using namespace std;
int main()
{
	vector<char> s;
	int len,s_len,i,j;
	char c;
	cout<<"请输入字符串,按回车表示输入结束"<<endl;
	cin>>c;
	while (c!='\n')
	{
		s.push_back(c);
                //cin.unsetf(ios::skipws);
		cin>>c;
	}
	cout<<"请输入要划分的每段的长度,按回车表示结束输入"<<endl;
	cin>>len;
	
	return 0;
}

 

问题 在于不回车的时候无法退出wile循环。问题的症结出在哪呢?原来默认情况下cin是忽略对空白符的识别的,不识别回车符(换行符),tab,空格等。如果想让其识别的话,

setf(ios::skipws):忽略对其识别。不忽略unsetf(ios::skipws);

#include<iostream>
#include<vector>
using namespace std;
int main()
{
	vector<char> s;
	int len,s_len,i,j;
	char c;
	cout<<"请输入字符串,按回车表示输入结束"<<endl;
	cin>>c;
	while (c!='\n')
	{
		s.push_back(c);
                cin.unsetf(ios::skipws);
		cin>>c;
	}
	cout<<"请输入要划分的每段的长度,按回车表示结束输入"<<endl;
	cin>>len;
	
	return 0;
}

 这样就可以了。这样的设置很多。比如 cout.setf(ios::left)输入格式左对齐。  cout.unset(ios::left)取消输出格式左对齐。

除了这样可以解决问题外还可以修改循环里的条件。由于 scanf(" ",&)不忽略对空白符的识别。所以把cin>>c 改成  scanf(“%c",&c);也可以

while (c!='\n')
	{
		s.push_back(c);
		scanf("%c",&c);
	}

还有一种方法是

	while ((c=getchar())!='\n')
	{
		s.push_back(c);
	}


分析:getchar()的用法。

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

关于识别回车符问题 的相关文章

  • 人工智能 机器学习实验总结

    答案仅供参考 1 数据预处理 给定数据集datingTest 实验任务 读取DatingTest的数据文件 1 并输出第一列数据的最大 最小和均值 2 输出该文件有多少数据 3 计算第一条数据和第二条数据的欧式距离 import panda
  • 面试题 v-if跟v-show的区别

    v if v show 区别 展示形式不同 v if是 创建一个dom节点 V show 是 display none block 使用场景不同 初次加载 v if 要 比v show 好 页面不会做加载盒子 频繁切换 v show 要比
  • JDK8新特性(七)之Stream流的count()、filter()、limit()、skip()方法

    1 Stream流的count 方法 Stream流提供count方法来统计其中的元素格式 long count 该方法返回一个long值代表元素个数 基本使用 import java util ArrayList import java
  • cmake

    cmake的常用命令 cmake minimum required message project set add executable add compile options add subdirectory add library ta
  • python -- 替换netcdf文件中的时间

    最近 在处理nc文件时 在时间上存在部分缺失的数据 为了避免影响后续操作 这里通过复制前一时刻的nc数据进行替代 但是虽然缺失时刻的数据得到了填充 但是填充的数据的时间属性本质上仍然是前一时刻的 为了保证时间的一致性 这里通过一个更新时间的
  • ARM(IMX6U)裸机C语言蜂鸣器驱动实验(BSP+SDK)

    参考 Linux之ARM IMX6U 裸机C语言蜂鸣器驱动实验 驱动编写 编译 作者 一只青木呀 发布时间 2020 08 16 14 47 23 网址 https blog csdn net weixin 45309916 article
  • android adb常用指令

    Android 调试桥 adb 是多种用途的工具 该工具可以帮助你你管理设备或模拟器 的状态 可以通过下列几种方法加入adb 在设备上运行shell命令 通过端口转发来管理模拟器或设备 从模拟器或设备上拷贝来或拷贝走文件 下面对adb进行了
  • C++数组的正确释放方式

    include
  • mariadb日志报错:error while loading shared libraries: libjemalloc.so.2处理办法

    Linux下找不到so文件的解决办法 rznice 2016 03 11 16 39 27 19494 收藏 1 分类专栏 linux 版权 最近在安装完tengine 在启动tengine时报找不到libjemalloc so 2的提示
  • # Odoo丨Odoo框架源码研读一:前后端交互

    Odoo丨Odoo框架源码研读一 前后端交互 本期内容 Odoo框架源码研读之 前后端交互 Odoo框架是一款企业应用快速开发平台 适用于各种规模的企业应用 安装与使用十分广泛 Odoo框架源码的第一篇研读内容 前后端交互 源码文件结构 O
  • 浅析Python中“if __name__ == __main__”的意义

    首先可以用一句话概括 if name main 语句的意义是为了使当前脚本可以正常执行 在被其他脚本调用时也可以执行 举个栗子 print py 文件中的代码如下 print the first if name main print the
  • uniapp 子组件向父组件传值

    使用组件可以减少代码的重复率 提高写代码的效率 改起来也方便 最近在使用uni app做项目 一套代码多端实现 做些简单的项目还是可以的 废话少说 说说子组件向父组件传值 子组件获取到值的时候 使用 emit传给父组件 this emit
  • c++函数为什么带imp_二次函数含参最值问题,老师怎么讲学生都不明白,试试这九张动图...

    一入函数深似海 从此数学是路人 很多同学都有这样的感觉 问 数学是从什么开始听不懂了 答 学函数的时候 函数问题作为中学阶段数学重要的知识点 真的是难倒了很多同学 数学老师也非常的痛苦 每次讲完函数问题 看到大家一脸茫然的表情 都会狠狠心再
  • Mac M1 Xcode创建动态链接库dylib(c++)——JNA-JNI(三)

    Mac M1 Xcode创建动态链接库dylib c JNA JNI 三 系列文章 Java通过JNI调用C 动态链接库dll 并打在jar包内 JNA JNI 一 Java使用JNA调用C 动态链接库 JNA JNI 二 Mac M1 X
  • 学1个月python爬虫就月赚6000?告诉你爬虫的真实情况!

    用爬虫赚外快的事情我也干了很多年 爬虫自然不在话下 那么今天我来说说5个深入一点的爬虫问题 让你清楚爬虫的真实情况 1 现在的爬虫接单真能1个月赚6000的快外 2 初级爬虫只能接一些小单 怎样才算初级爬虫水平 3 中级爬虫是职业爬虫工程师
  • 自学c++笔记(三)

    笔记记录本人学习C 路上的一些摘要与总结 供本人阅读同时也分享与他人 转义序列 换行符 n 水平制表符 t 退格 b 回车 r 振铃 a wchar t 宽字符类型 是一种整型类型 使用wcin和wcout来处理wchar t流 const
  • 动态规划-砝码称重问题

    动态规划 Dynamic Programming 这个词乍一听感觉甚是高大上 初次学习或者使用的时候会感觉难以理解 这是正常的 毕竟凡事都是一回生二回熟 其实它也不难的 大家要明白一个道理 能写到课本上给学生学习的东西必然属于不难的东西 因
  • java中emptyMap()方法具有什么功能呢?

    转自 java中emptyMap 方法具有什么功能呢 下文笔者讲述emptyMap 方法的功能简介说明 如下所示 emptyMap 方法的功能 返回一个不变的空map emptyMap的语法 public static final Map
  • 物联网 MQTT 服务质量级别

    欢迎大家前往腾讯云 社区 获取更多腾讯海量技术实践干货哦 翻译人 Tnecesoc 该成员来自云 社区翻译社 消息队列遥测传输 MQTT 是一种客户端服务器发布 订阅消息传输协议 它轻量 开放 简单 其设计也易于实施 这些特性使其非常适合用
  • DETR系列:RT-DETR实战部署

    上篇文章介绍RT detr的论文内容 RT DETR 论文解析 本篇文章介绍算法复现 tensorRT加速 python代码部署tensorRT测试单张图片或文件夹 RT DETR实战部署 1 复现模型详情 2 环境准备 3 训练 4 部署

随机推荐