C/C++输入输出流

istream中的类(如cin)提供了一些面向行的类成员函数:getline()和get()。这两个函数都读取一行输入,直到达到换行符。不同的是,getline()将丢弃换行符,而get()将换行符保留在输入序列中。

目录

一、字符串 I/O

二、string类 I/O


一、字符串 I/O

1.面向行的输入:getline()

getline()函数读取整行,它使用通过回车键输入的换行符来确定输入结尾。要调用这种方法,可以使用cin.getline()。该函数有两个参数,第一个参数是用来存储输入行的数组的名称,第二个参数是要读取的字符数。

ex:cin.getline(typename,size).

#include <iostream>
using namespace std;
int main()
{const int ArSize = 20;char name[ArSize];char dessert[ArSize];cout << "Enter your name:\n";cin.getline(name,ArSize);cout << "Enter your favorite dessert:\n";cin.getline(dessert,ArSize);cout << "I have some delicious " << dessert;cout << " for you , " << name << ".\n";    return 0;
} 

 

2.面向行的输入:get()

get()与getline()接受的参数相同,解释参数的方式也相同,并且都读取到行尾。但并不再读取并丢弃换行符,而是将其留在输入队列中。

ex:cin.get(typename,size).

当第一次调用后,换行符留在输入队列中,因此第二次调用时看到的第一个字符便是换行符。因此get()认为已经到达行尾,而没有发现任何可读取的内容。

此时可借用get()的另一种变体,使用不带任何参数的cin.get()调用可读取下一个字符(即使是换行符)。

因此可以用它来处理换行符,为读取下一行输入做好准备。

ex:

cin.get(typename,size);

cin.get();

cin.get(typename,size);

另一种使用get()的方式是将两个类成员函数拼接起来:

cin.get(typename,size).get();

#include <iostream>
using namespace std;
int main()
{const int ArSize = 20;char name[ArSize];char dessert[ArSize];cout << "Enter your name:\n";cin.get(name,ArSize).get();cout << "Enter your favorite dessert:\n";cin.get(dessert,ArSize).get();cout << "I have some delicious " << dessert;cout << " for you , " << name << ".\n";    return 0;
} 

二、string类 I/O

1.使用string对象的方式与使用字符数组相同

  • 可以使用C-风格字符串来初始化string对象。
  • 可以使用cin来将键盘输入存储到string对象。
  • 可以使用cout来显示string对象。
  • 可以使用数组表示法来访问存储在string对象中的字符。

2.get(cin,str)方法 

#include<iostream>
#include<cstring>
using namespace std;
//字符数组i/o
int main()
{char charr1[20];char charr2[20];cout << "Enter your first name:\n";cin.get(charr1,20).get();cout << "Enter your last name:\n";cin.get(charr2,20).get();strcat(charr1,charr2);cout << "Here's the information in a single string :\n";cout << charr1;return 0;
}
//string类i/o
int main()
{string str1,str2;cout << "Enter your first name:";getline(cin,str1);cout << "Enter your first name:";getline(cin,str2);cout << "Here's the information in a single string :";cout << str1 << " , " << str2;cout << "\n";string str3;cout << "Enter third name:";cin >>str3;cout << "str3 = " << str3;return 0;
}

3.string类的其他操作

  • 可以使用函数strcpy()将字符串复制到字符数组中。

  • 可以使用函数strcat()将字符串附加到字符数组末尾。

ex:   strcpy(charr1,charr2)   strcat(charr1,charr2)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/323099.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)

转载自 帮你彻底搞懂JS中的prototype、__proto__与constructor&#xff08;图解&#xff09;   作为一名前端工程师&#xff0c;必须搞懂JS中的prototype、__proto__与constructor属性&#xff0c;相信很多初学者对这些属性存在许多困惑&#xff0c;容易把它们混淆&#xff…

ssl1715-计算面积【差积】

正题 题目大意 给一个平行四边形的3个点&#xff0c;求最大面积。 解题思路 明显答案就是差积*2的绝对值。 codecodecode #include<cstdio> #include<algorithm> #include<cmath> #define db double using namespace std; int n; struct node{db x,y; }p[…

ASP.NET Core 企业级开发架构简介及框架汇总

一、 垂直方向架构 1. 多层架构 分层架构通过程序包或者程序的隔离构建松耦合的应用。我们以最近流行的洋葱架构模型进行分析&#xff0c;如图

【Php】最最简单的php环境搭建

Wamp是apachemysqlphp的集成环境&#xff0c;通过一键安装程序&#xff0c;可以完全免除配置的烦恼。 链接&#xff1a; 链接&#xff1a;https://pan.baidu.com/s/1717Mw66Z1wZ67ltLriUVew 提取码&#xff1a;7h5t 下载之后一直下一步&#xff0c;默认默认即可 如果输入local…

01)自学JavaScript

1. JavaScript 简介 1.1 JavaScript 是脚本语言 JavaScript 是一种轻量级的编程语言。 JavaScript 是可插入 HTML 页面的编程代码。 JavaScript 插入 HTML 页面后&#xff0c;可由所有的现代浏览器执行。 2. JavaScript 用法 HTML 中的脚本必须位于 <script> 与 &l…

ssl1213-多边形面积【差积,计算几何】

正题 题目大意 求一个多边形面积。 解题思路 随便定一个原点&#xff0c;然后答案就是相邻点的差积之和的绝对值。 要判断不能组成多边形的情况。 codecodecode #include<cstdio> #include<algorithm> #include<cmath> #define N 1010 #define db double …

Memcached总结

一、介绍 Memcached是一个自由开源的&#xff0c;高性能&#xff0c;分布式内存对象缓存系统。 Memcached是一种基于内存的key-value存储&#xff0c;用来存储小块的任意数据&#xff08;字符串、对象&#xff09;。 目的&#xff1a;通过缓存数据库查询结果&#xff0c;减少…

浅析C#中单点登录的原理和使用

是单点登录&#xff1f; 我想肯定有一部分人“望文生义”的认为单点登录就是一个用户只能在一处登录&#xff0c;其实这是错误的理解&#xff08;我记得我第一次也是这么理解的&#xff09;。 单点登录指的是多个子系统只需要登录一个&#xff0c;其他系统不需要登录了&#xf…

虚拟机和linux的安装

下载地址&#xff1a; 虚拟机14版本的&#xff1a; 链接:https://pan.baidu.com/s/1lxp62gerSI_29wQDuTEAJQ 提取码:53dn 乌班图 https://ubuntu.com/download

Mybatis入门程序增删改查操作

学习目标 了解Mybatis的基本知识熟悉Mybatis的工作原理掌握Mybatis入门程序的编写 文章目录 1.初始Mybatis 2.Mybatis入门程序 3.Mybatis操作总结 1.初始Mybatis MyBatis 是一款优秀的持久层框架&#xff0c;它支持自定义 SQL、存储过程以及高级映射。MyBatis 免除了几乎所…

Memcached:列出所有Key

翻译自 Memcached&#xff1a;列出所有Key 在一般情况下&#xff0c;有没有办法列出所有的Key&#xff0c;一个memcached的实例存储。但是&#xff0c;您可以列出类似于第一个1Meg键的内容&#xff0c;这在开发过程中通常就足够了。这是如何做&#xff1a; Telnet到您的服务…

jzoj5354-导弹拦截【dp,最大匹配,最少路径覆盖】

正题 解题思路 一个东西可以拦截导弹&#xff0c;每次只能打比上一次x,y,zx,y,zx,y,z都大的导弹。求一个最多可以拦截掉多少个导弹和至少要多少个才能拦截完。拦截导弹没有顺序要求。 解题思路 由于没有顺序要求所以我们可以直接定义一个比较&#xff0c;然后第一问做法和导弹…

ASP.NET Core 2.0 全局配置项

问题 如何在 ASP.NET Core 2.0 应用程序中读取全局配置项&#xff1f; 答案 首先新建一个空项目&#xff0c;并添加两个配置文件&#xff1a; 1. appsettings.json { "Section1": { "SettingA": "ValueA", "SettingB": "V…

Auto.JS 教程

最近淘宝双十一活动来了&#xff0c;有个自动领猫币的脚本&#xff0c;基于auto.js&#xff0c;亲测有效。有兴趣的点这里 声明&#xff1a; 本教程基于b站up主-笔青居的视频。传送门&#xff1a;https://space.bilibili.com/21486893/video Auto.JS Auto.js 是个基于 JavaScri…

Mybatis的核心配置

学习目标 了解Mybatis核心对象的作用熟悉Mybatis配置文件中各个元素的作用掌握Mybatis映射文件中常用元素的使用 文章目录 1.Mybatis的核心对象 1.1 SqlSessionFactory 1.2 SqlSession 1.2.1 使用工具类创建SqlSession 2. 配置文件 2.1 主要元素 3. 映射文件 2.1主要元素…

jzoj5353-村通网【最小生成树】

正题 题目大意 一条边的价格为两个点的曼哈顿距离乘B&#xff0c;修建源点价格为A。要求每个联通块内都有源点的最小价格。 解题思路 对于最终每个联通块肯定是棵树。对于合并每个联通块可以减少一个源点。所以将最小生成树上价格小于A的边都加进去就可以了。 codecodecode …

auto.js小案例

微信朋友圈自动点赞 var it className("ListView").findOne(); var i1;while(i<5){say desc(评论).findOne();say.click();goodtext(赞).findOne();goodpgood.parent();goodp.click();sleep(1000);it.scrollDown();i; }home();微信轰炸机 toast("轰炸机已准…

本土开源、立足全球 | COSCon'17

全球公有云 90% 的服务器运行的是开源 Linux 操作系统&#xff01; GitHub 上有超过 150 万个组织&#xff0c;正在进行开源开发&#xff01; 本土开源项目目前在 Apache 的顶级以及孵化列表中已经有 6 个&#xff01; 你想知道这其中都有什么奥秘吗&#xff1f;Apache 顶级项目…

Zookeeper选举原理——FastLeaderElection

转载自 Zookeeper选举原理 作为一个分布式应用程序协调服务&#xff0c;在大型网站中&#xff0c;其本身也是集群部署的&#xff0c;安装zookeeper的时候最好是单数节点&#xff0c;因为要选举。Zookeeper的leader节点是集群工作的核心&#xff0c;用来更新并保证leader和ser…

P2742-二维凸包/圈奶牛Fencing the Cows【凸包】

正题 题目链接:https://www.luogu.org/recordnew/lists?uidSSL_WYC_zombieeeeee&pidP2742&status&sort0 题目大意 求凸包总长度 解题思路 求凸包 codecodecode #include<cstdio> #include<algorithm> #include<cmath> #define N 10010 usin…