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)
C/C++输入输出流相关推荐
- python输入输出流详解_输入输出流的概念
Java中的文件复制相较Python而言,涉及到输入输出流的概念,实现中会调用很多对象,复杂很多,在此以文件复制进行简单总结. 这里是一个简单的处理代码: import java.io.*; publ ...
- C++ 输入输出流 文本文件 二进制文件读写
文本文件/ASCII文件(能直接显示内容,费存储空间):文件中每一个字节中均以ASCII代码形式存放数据,即一个字节存放一个字符,这个文件就是ASCII文件或称字符文件. 二进制文件(不能显示内容,节 ...
- c++一日一练:让标准的输入输出流关联一个缓冲区
上篇文章讲述了如何创建自己的标准输入输出,但是如何将标准的输入输出流进行重定向呢: 下面是一个具体的方法: fp = _fdopen( hConHandle, "w" ); ...
- Java IO (二),常见的输入/输出流
字节流和字符流 InputStream和Reader InputStream和Reader两个抽象类是所有输入流的基类,本身并不能创建实例来执行输入,但它们将成为所有输入流的模板.他们的方法是所有输入 ...
- java输出流输入流的使用_Java中的IO流之文件输入输出流
Java中的IO流之文件输入输出流 1.文件流介绍 文件流是以字节为单位进行读写文件的,所以属于字节流,并且是低级流.文件流位于java.io包下. 输入输出流分别是FileInputSteam和Fi ...
- java输出流缓冲区内容清除,Java输入输出流与缓冲区的使用
Java输入输出流与缓冲区的使用,有需要的朋友可以参考下. 一,Input/Output流: 将外设中的数据读取到内存中就是输入. 将内存中的数据写入到外设中就是出. I/O流就是用来处理设备间的 . ...
- java实验 输入输出流_java实验七 输入输出流
有关java的实验和程序 实验七 输入输出流 一.实验目的和要求 目的: 1.掌握使用输入输出流进行文件的读写操作. 要求: 1.实验报告给出内容1,2的填充代码以及内容3的全部源代码. 二.实验内容 ...
- java实验七输入输出流_实验六_Java的输入输出流
JAVA的输入输出流 实验六 Java的输入输出流 实验目的 1. 理解I/O流的概念,掌握其分类 2. 掌握文本文件读写.二进制文件读写 实验环境 JDK1.4以上版本, Eclipse集成开发环境 ...
- 【java开发系列】—— java输入输出流
前言 任何语言输入输出流都是很重要的部分,比如从一个文件读入内容,进行分析,或者输出到另一个文件等等,都需要文件流的操作.这里简单介绍下reader,wirter,inputstream,output ...
- Java输入输出流IO
1.什么是IO Java中I/O操作主要是指使用Java进行输入,输出操作. Java所有的I/O机制都是基于数据流进行输入输出,这些数据流表示了字符或者字节数据的流动序列.Java的I/O流提供了读 ...
最新文章
- ASP.NET TricksTip:关于Tooltip(title)的换行问题
- 解决putty中文乱码并远程访问linux界面功能
- Xilinx 7系列FPGA介绍
- 三点到六点是几个小时_环卫工在10吨垃圾里找了6小时,终于找到这张价值19万元的餐巾纸...
- 51CTO学院四周年-成长之路
- aws eks_在生产中配置和使用AWS EKS
- android 日历仿IOS,基于Android week view仿小米和iphone日历效果
- S3C2440对Nand Flash操作和电路原理(基于K9F2G08U0A)
- Android -- 网络请求
- 手把手教你从0-1做一张酷炫驾驶舱,让老板对你赞不绝口
- nginx日志统计分析的相关常用命
- Angularjs总结(一)表单验证
- android按钮切换颜色,togglebutton
- 判断一个字符串是否在一个数组中
- delphi 读取excel 两种方法
- 使用Bartend提取K3领料数据以实现发料包装标识批量自动打印
- 全国DNS服务器ip地址
- 将多个BIN文件合成一个
- 笔记本电脑合上盖子不休眠设置方法
- python 下载公众号文章_最便捷的微信公众号文章下载器——基于Python爬虫微信文章...