istream类的公有成员函数
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类的公有成员函数的更多相关文章
- ostream类的公有成员函数
1 flush 2 operator<< 3 put 4 seekp 5 tellp 6 write 1 flush 刷新输出流 2 operator<< 插入运算符 3 pu ...
- C++学习46 getline()函数读入一行字符 一些与输入有关的istream类成员函数
getline函数的作用是从输入流中读取一行字符,其用法与带3个参数的get函数类似.即 cin.getline(字符数组(或字符指针), 字符个数n, 终止标志字符) [例13.7] 用get ...
- C++的友元类和友元函数实例
#include <math.h> #include<iostream> using namespace std; class Point { public: Point(do ...
- 虚基类——(1)定义人员类Person: 公有成员:姓名(Name); 保护成员:性别(Gender),年龄(Age); 构造函数和析构函数
题目描述: (1)定义人员类Person: 公有成员:姓名(Name): 保护成员:性别(Gender),年龄(Age): 构造函数和析构函数 (2) 从人员类Person派生学生记录类Student ...
- C++中string类的操作函数。
相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯 ...
- 《寒江独钓_Windows内核安全编程》中修改类驱动分发函数
最近在阅读<寒江独钓_Windows内核安全编程>一书的过程中,发现修改类驱动分发函数这一技术点,书中只给出了具体思路和部分代码,没有完整的例子. 按照作者的思路和代码,将例子补充完整,发 ...
- c++函数模板作为类的成员函数,编译报错LNK2019的解决方法
为了使某个类的成员函数能对不同的参数进行相同的处理,需要用到函数模板,即template<typename T> void Function(). 编译时报错LNK2019 解决方法: 1 ...
- javascript函数一共可分为五类: ·常规函数 ·数组函数 ·日期函数 ·数学函数 ·字符串函数
javascript函数一共可分为五类: ·常规函数 ·数组函数 ·日期函数 ·数学函数 ·字符串函数 1.常规函数 javascript常规函数包括以下9个 ...
- C++ - 虚基类、虚函数与纯虚函数
虚基类 在说明其作用前先看一段代码 class A{public: int iValue;}; class B:public A{public: void bPrintf(){ ...
随机推荐
- MYSQL 时间计算的 3 种函数
方法 1. 加法 adddate('date_expression',interval value type); 'date_expression' + interval value type; -- ...
- Oracle EBS-SQL (QA-1):检查超出检验周期的检验数据.sql
select msi.segment1 物料编码, msi.DESCRIPTION ...
- android透明度和css透明度
值越小,越透明 css:0.1-------1 android:#00-----------#ff
- (十二)boost库之多线程高级特性
(十二)boost库之多线程高级特性 很多时候,线程不仅仅是执行一些耗时操作,可能我们还需要得到线程的返回值,一般的处理方法就是定义一个全局状态变量,不断轮训状态,就如我目前维护的一个项目,全局变量定 ...
- C语言的本质(29)——C语言与汇编之寄存器和寻址方式
x86的通用寄存器有eax.ebx.ecx.edx.edi.esi.这些寄存器在大多数指令中是可以任意选用的,比如movl指令可以把一个立即数传送到eax中,也可传送到ebx中.但也有一些指令规定只能 ...
- 消息队列接口API(posix 接口和 system v接口)
消息队列 posix API 消息队列(也叫做报文队列)能够克服早期unix通信机制的一些缺点.信号这种通信方式更像\"即时\"的通信方式,它要求接受信号的进程在某个时间范围内对信 ...
- 区间dp-hdu-4745-Two Rabbits
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4745 题目意思: 给n个环状的数,A.B两人沿相反的方向走,每单位时间走一步,要求相同时间两人到达相 ...
- java对象转json应clone,避免生成json串有问题
今天因为一个java对象转json,搞了我一下午,在些记录一下: 是这样:我在strtuts2的action中调用services返回 Row: 26, 中国银行海鹰, 29, 东楼, 36, 1F ...
- 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 ~ ...
- 各版本SDK Tools及ADT下载技巧
我们在开发的时候,尤其是使用Eclipse安装ADT插件进行环境配置,我们需要从下载ADT插件及SDK,当我们从官网下载的时候,有的时候可能找不到下载的地方或者下载不到自己想要的版本,我就在此总结下如 ...