首页 > 其他 > 详细

输入流一二事

时间:2020-04-11 22:54:48      阅读:58      评论:0      收藏:0      [点我收藏+]

前言

总计一下各种输入方式以及合适的使用场景优缺点什么的...

流提取运算符

iostream.h

使用

cout <<

使用事项

  1. 通常跳过输入流中的空白字符,如空格、制表符和换行符
  2. 流提前运算符给接受的流对象返回一个引用。如果引用被用做判断条件,那么根据最后输入操作成功与否将引用转化为true或false

get成员函数

iostream.h

没有形参

使用

int cin::get();               //使用int是因为char类型不能接受EOF

使用事项

  1. 从指定流输入一个字符,包括空白字符及其他非图形字符,并将这个值作为函数调用的返回值
  2. 在遇到流中的文件尾时返回EOF值

一个形参

使用

istream& cin::get(char &c);

使用事项

  1. 将输入流中的下一个字符(即使是一个空白字符)输入并存储在其引用的字符参数内
  2. 给调用它的istream对象返回一个引用
  3. 可以拼接起来就像提取符那样

三(两个)个形参

使用

void cin::get(char c[], int len, char delim);

使用事项

  1. 从输入流中读取多个字符,或者不超过size个,或者遇到分割符(可省,如果省略就是默认分割符‘\n‘)终止
  2. 这里的len应该小于第一参数字符数组的size
  3. 若遇到分割符中止,分割符不会被读取到数组中,而是会被放置到流中,这会对下一次调用产生影响,需要使用不带形参的将分割符取出才不会影响下一次的读取

getline成员函数

使用

 istream& cin::getline(char c[], int len, char delim);

使用事项

  1. 从输入流中读取多个字符,或者不超过size个,或者遇到分割符(可省,如果省略就是默认分割符‘\n‘)终止
  2. 读取之后会在末尾插入一个空字符,并把分割符从输入流中移除(读取然后丢弃)
  3. 这里的len应该小于第一参数字符数组的size,且要留一个位置来防止空字符‘\0‘

getline非成员函数

string.h

使用

istream& getline(istream& is, char c[], char delim);
istream& getline(istream& is, string str, char delim);

使用事项

  1. 从输入流is中读取多个字符遇到分割符(可省,如果省略就是默认分割符‘\n‘)终止
    2.与成员函数比,优势在可以用string接收

输入流一二事

原文:https://www.cnblogs.com/Za-Ya-Hoo/p/12682588.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!