1 eatwhite

2 get

3 getline

4 gcount

5 ignore

6 operator>>

7 peek

8 read

9 seekg

10 tellg

1 eatwhite

忽略前导空格

2 gcount

统计最后输入的字符个数

3 get

从流中提取字符,包括空格

std::cin.get(ch);//等价于ch=std::cin.get;

 #include <iostream>

 void main()
{
char ch = ; while (ch != '\t')
{
std::cout.put(ch);
std::cin.get(ch);//等价于ch=std::cin.get;
} system("pause");
}

面试,复合表达式

 #include <iostream>

 void main()
{
char ch = ; while ((ch = std::cin.get()) != '\t')//复合表达式
{
std::cout.put(ch);
} system("pause");
}

std::cin.get(buf, 80, 'x');//提取一段文本,最大长度为80,遇到'x'结束

 #include <iostream>

 void main()
{
char buf[]; std::cin.get(buf, , 'x');//提取一段文本,最大长度为80,遇到'x'结束 std::cout << buf << std::endl; system("pause");
}

4 getline

从流中提取一行字符

std::cin.getline(str, 10);//限定长度,保存10-1=9个字符,最后一个字符是'\0',作用:限制输入密码的长度,防止缓冲区溢出

 #include <iostream>

 void main()
{
char str[] = { }; std::cin.getline(str, );//限定长度,保存10-1=9个字符,最后一个字符是'\0',作用:限制输入密码的长度,防止缓冲区溢出 std::cout << str; system("pause");
}

按行读取文件

 #include <iostream>
#include <fstream> void main()
{
std::ifstream fin("F:\\1.txt");//创建读取文件流 for (int i = ; i < ; i++)
{
char str[] = { };
fin.getline(str, );//从流中提取一行字符
std::cout << str << std::endl;//打印
} fin.close();//关闭文件 system("pause");
}

std::cin.getline(buf, 80, 'x');//逐行读取,以'x'为结束

可以反复读取,适合提取数据,以'x'作为间隔

 #include <iostream>

 void main()
{
char buf[]; std::cin.getline(buf, , 'x');//逐行读取,以'x'为结束
std::cout << buf << std::endl; std::cin.getline(buf, , 'x');//逐行读取,以'x'为结束
std::cout << buf << std::endl; system("pause");
}

5 ignore

提取并丢弃流中指定字符

6 operator>>

提取运算符

7 peek

返回流中下一个字符,但不从流中删除

8 read

无格式输入字节数

9 seekg

移动输入流指针

10 tellg

返回输入流中指定位置的指针值

istream类的公有成员函数的更多相关文章

  1. ostream类的公有成员函数

    1 flush 2 operator<< 3 put 4 seekp 5 tellp 6 write 1 flush 刷新输出流 2 operator<< 插入运算符 3 pu ...

  2. C++学习46 getline()函数读入一行字符 一些与输入有关的istream类成员函数

    getline函数的作用是从输入流中读取一行字符,其用法与带3个参数的get函数类似.即    cin.getline(字符数组(或字符指针), 字符个数n, 终止标志字符) [例13.7] 用get ...

  3. C++的友元类和友元函数实例

    #include <math.h> #include<iostream> using namespace std; class Point { public: Point(do ...

  4. 虚基类——(1)定义人员类Person: 公有成员:姓名(Name); 保护成员:性别(Gender),年龄(Age); 构造函数和析构函数

    题目描述: (1)定义人员类Person: 公有成员:姓名(Name): 保护成员:性别(Gender),年龄(Age): 构造函数和析构函数 (2) 从人员类Person派生学生记录类Student ...

  5. C++中string类的操作函数。

    相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯 ...

  6. 《寒江独钓_Windows内核安全编程》中修改类驱动分发函数

    最近在阅读<寒江独钓_Windows内核安全编程>一书的过程中,发现修改类驱动分发函数这一技术点,书中只给出了具体思路和部分代码,没有完整的例子. 按照作者的思路和代码,将例子补充完整,发 ...

  7. c++函数模板作为类的成员函数,编译报错LNK2019的解决方法

    为了使某个类的成员函数能对不同的参数进行相同的处理,需要用到函数模板,即template<typename T> void Function(). 编译时报错LNK2019 解决方法: 1 ...

  8. javascript函数一共可分为五类: ·常规函数 ·数组函数 ·日期函数 ·数学函数 ·字符串函数

    javascript函数一共可分为五类:    ·常规函数    ·数组函数    ·日期函数    ·数学函数    ·字符串函数    1.常规函数    javascript常规函数包括以下9个 ...

  9. C++ - 虚基类、虚函数与纯虚函数

    虚基类       在说明其作用前先看一段代码 class A{public:    int iValue;}; class B:public A{public:    void bPrintf(){ ...

随机推荐

  1. MYSQL 时间计算的 3 种函数

    方法 1. 加法 adddate('date_expression',interval value type); 'date_expression' + interval value type; -- ...

  2. Oracle EBS-SQL (QA-1):检查超出检验周期的检验数据.sql

    select msi.segment1                                    物料编码,          msi.DESCRIPTION                ...

  3. android透明度和css透明度

    值越小,越透明 css:0.1-------1 android:#00-----------#ff

  4. (十二)boost库之多线程高级特性

    (十二)boost库之多线程高级特性 很多时候,线程不仅仅是执行一些耗时操作,可能我们还需要得到线程的返回值,一般的处理方法就是定义一个全局状态变量,不断轮训状态,就如我目前维护的一个项目,全局变量定 ...

  5. C语言的本质(29)——C语言与汇编之寄存器和寻址方式

    x86的通用寄存器有eax.ebx.ecx.edx.edi.esi.这些寄存器在大多数指令中是可以任意选用的,比如movl指令可以把一个立即数传送到eax中,也可传送到ebx中.但也有一些指令规定只能 ...

  6. 消息队列接口API(posix 接口和 system v接口)

    消息队列 posix API 消息队列(也叫做报文队列)能够克服早期unix通信机制的一些缺点.信号这种通信方式更像\"即时\"的通信方式,它要求接受信号的进程在某个时间范围内对信 ...

  7. 区间dp-hdu-4745-Two Rabbits

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4745 题目意思: 给n个环状的数,A.B两人沿相反的方向走,每单位时间走一步,要求相同时间两人到达相 ...

  8. java对象转json应clone,避免生成json串有问题

    今天因为一个java对象转json,搞了我一下午,在些记录一下: 是这样:我在strtuts2的action中调用services返回 Row: 26, 中国银行海鹰, 29, 东楼, 36, 1F ...

  9. TNS-12541,TNS-12560,TNS-00511,TNS-12542,TNS-12560,TNS-00512数据库启动监听报错

    第 1章   数据库server监听错误 1.1.1数据库监听错误 1.1.1.1 问题及现象 server环境为ORACLE11G RAC环境,系统启动后,监听没起来. [oracle@RAC4 ~ ...

  10. 各版本SDK Tools及ADT下载技巧

    我们在开发的时候,尤其是使用Eclipse安装ADT插件进行环境配置,我们需要从下载ADT插件及SDK,当我们从官网下载的时候,有的时候可能找不到下载的地方或者下载不到自己想要的版本,我就在此总结下如 ...