当前位置: 首页 > news >正文

做政务网站新乡网站优化公司价格

做政务网站,新乡网站优化公司价格,工信部 网站 邮箱,网站开发质量控制计划书目录 一、cin 流 二、成员函数 get 获取一个字符 (一)无参数的get函数。 (二)有一个参数的get函数。 (三)有3个参数的get函数 (四)用成员函数 getline 函数读取一行字符 (五)用成员函数 read 读取一串字符 (六)istream 类…

目录

一、cin 流

二、成员函数 get 获取一个字符

(一)无参数的get函数。

(二)有一个参数的get函数。

(三)有3个参数的get函数

(四)用成员函数 getline 函数读取一行字符

(五)用成员函数 read 读取一串字符

(六)istream 类的其他成员函数

1、eof函数

2、peek函数。

3、 putback 函数

4、ignore 函数。


标准输入流是从标准输入设备(键盘)流向内存的数据

一、cin 流

cin 必须和运算符“>>”一起使用。用 cin 实现输人的一般形式为:

cin>>变量名或对象名>>变量名或对象名…;

在上述语句中,流提取运算符“>>”可以连续写多个,每个后面跟一个变量名或对象名,它们是获得输入值的。看下面的例子。 定义两个变量,从键盘输入其值,并输出。

#include<iostream>
using namespace std;
int main()
{int m, n;cout << "Enter two integers:";cin >> m >> n;cout << "m= " << m << " ," << "n= " << n << endl;return 0;
}


执行该程序在屏幕上显示如下内容:

Enter two integers:1 2
m=1,n=2

这里从键盘上输人的两个int型数据之间用空白符(包括空格符、制表符、回车符)分隔。程序中的变量通过流提取符“>>”从流中提取数据。

流提取符“>>”从流中提取数据时通常跳过输入流中的空格、Tab键、换行符等空白字符。

注意,只有在输入完数据并按回车键后,该行数据才被送人键盘缓冲区,形成输入流,流提取运算符“>>”才能从中提取数据。

二、成员函数 get 获取一个字符

istream类的成员函数get可以从输人流中获取一个字符,

该函数在iostream类体的原型声明语句如下:
 

int get();//从输人流中获取单个字符或EOF,并返回它
istream & get(char& rch);//从输入流中获取单个字符
istream& get(unsigned char& ruch);
istream& get(signed char& rsch);
istream& get(char* pch, int nCount, char delim = '\n');
istream& get(unsigned char* puch, int nCount, char delim = '\n');
istream& get(signed char* psch, int nCount, char delim = '\n');
istream& get(streambuf& rsb, char delim = '\n');


(一)无参数的get函数。

无参数的 get 函数的作用是从指定的输人流中提取一个字符,函数的返回值就是读取的字符

若遇到输入流中的文件结束符,则函数值返回文件结束标志EOF。看下面的例子。
 

#include<iostream>
using namespace std;
int main()
{char c;cout << "Enter a sentence: " << endl;while ((c = cin.get()) != EOF)cout.put(c);cout << "OK!" << endl;return 0;}

执行该程序在屏幕上显示如下内容:

Enter a sentence:
Today is Sunday.(输入一行字符)

Today is Sunday.(输出上行字符)

^Z/(程序结束)

OK!



C语言中的getchar()函数与istream类的成员函数get的功能相同,在C++中依旧明以使用。

(二)有一个参数的get函数。

以“ istream & get ( char & rch ) ; ”为例,

介绍其调用形式为:cin.get(c)                                                             

其作用是从输人流中读取一个字符,赋给字符变量。

如果读取成功则丽数返回非值(真),如失败(遇文件结束符)则函数运回。

# include<iostream>
using namespace std;
int main() {char c; cout << "Enter a sentence: " << endl;while ((c = cin.get()) != EOF)//读取一个字符赋给字符变量c,如果读取成功cin.get(c)为真cout.put(c);cout << "OK!" << endl;return 0;
}

(三)有3个参数的get函数

以“istream& get( char * peh, int nCoun, char delim=\n);"为例,

介绍使用该函数可以实现输入一行字符。

在get函数的3个形参中,

1. pch可以是一个字符数组或一个字符指针。

2. nCount是一个int型数,用来限制从输入流中读取到pch字符数组中的字符个数,最多只能读 nCount-1个,因为要留出最后一个位置存放结束符。

3. delim是读取字符时指定的结束符,其默认值为“\n”,终止字符也可以用其他字符,如 cin.get(ch,10,x’)

上述有3个形参的get函数的作用是从输人流中读取nCount-1个字符,赋给指定的字符数组(或字符指针),如果在读取nCount-1个字符之前遇到指定的终止字符,则提前结束读取

如果读取成功则函数返回非0值(真),如失败则函数返回0值(假)。例如:

#include<iostream>
using namespace std;
int main()
{char ch[20];cout << "Enter a sentence :" << endl;cin.get(ch, 10, '\n');//指定换行符为终止字符cout << ch << endl;cout << "OK!" << endl;return 0;
}

程序输出结果:

Enter a sentence :
shurushuchu
shurushuc
OK!

(四)用成员函数 getline 函数读取一行字符

istream类的成员函数getline的作用是从输入流中读取一行字符,该函数在ream类体中的原型声明语句如下:

istreams getline(char* pch, int nCount, char delim='\n');
istreams getline (unsigned char * puch, int nCount, char delim= '\n' );
istreams getline (signed char* psch, int nCount, char delim='\n');

该函数的形参表和用法与上面讲述的利用get函数输入一行字符的功能类似。

(五)用成员函数 read 读取一串字符

istream类的成员函数read可以从输入流中读取指定数目的字符并将它们存放在指定的数组中,该函数在iostream类体中的原型声明语句如下:

istreams read(char* pch, int nCount);
istreams read(unsigned char* puch, int nCount);
istream& read(signed char* psch, int nCount);

pch是用来存放读取来的字符的字符指针或者是字符数组,

nCount是一个int型数,用来指定从输入流中读取字符的个数。

#include<iostream>
using namespace std;
int main()
{const int S = 10;char buf[S] = "";cout << "Enter … \n";cin.read(buf, S);cout << buf << endl;return 0;
}

程序运行结果:

Enter …
123
456
^Z
123
456

(六)istream 类的其他成员函数

除了以上介绍的用于读取数据的成员函数外,istream类还有其他在输人数据时用得着的一些成员函数。常用的有以下几个。


1、eof函数

eof是 end offile 的缩写,表示“文件结束”。从输人流读取数据,如果到达文件末尾(遇文件结束符),eof函数值为非零值(表示真),否则为0(假)。其调用格式为:

cin.eof();

逐个读取一行字符, 将其中的非空格字符输出:

#include<iostream>
using namespace std;
int main()
{char c;cout << "Enter …\n";while (!cin.eof())if ((c = cin.get()) != ' ')cout.put(c);return 0;
}

程序运行结果 :

Enter …
ILove you
ILoveyou
^Z

2、peek函数。

peek函数的作用是从输人流中返回下一个字符,但它只是观测,指针仍停留在当前位置,遇到流结束标志时返回EOF。其调用形式为:

c=cin.peek();

检测字符1后面是字符2的连续字符组的个数:

#include<iostream>
using namespace std;
int main()
{
int ch, i = 0;
cout << "please Enter a string…\n"; 
while ((ch = cin.get()) != EOF)
{if (ch == '1' && cin.peek() == '2')i++;
}cout << i << endl;
return 0;
}

程序运行结果:

please Enter a string…
12121212131313141412
^Z
5

peek函数从输入流中返回字符,但不输出,可以利用该函数的这一特点检查字符1后面是否是字符2.如果字符1后面是字符2则i++。

3、 putback 函数

putback函数的调用形式为:

cin.putback(ch);


作用是将前面用get或getline函数从输人流中读取的字符ch返回到输人流,插人到当前指针位置,以供后面读取。

#include<iostream>
using namespace std;
int main()
{char ch[10];cout << "please enter a sentence:" << endl;cin.getline(ch, 8, '/ ');cout << "The first part is: " << ch << endl;cin.putback(ch[0]); //将第一个句子的第一个字符插入到指针所指处cin.getline(ch, 8, '/');cout << "The second part is: " << ch << endl;return 0;
}

4、ignore 函数。

ignore函数在iostream类中的原型声明语句如下:

istream& ignore(int n=1,int=EOF);

其中,第1个参数为要提取的字符个数,默认值为1,第2个参数为终止字符,默认值为EOF。ignore函数的作用是跳过输人流中指定个数的字符,或在遇到指定的终止字符时提前结束(此时跳过包括终止字符在内的若干字符)。下面的语句实现跳过输人流中5个字符,遇到字符A后就不再跳了。

ignore(5,'A');

用ignore 函数跳过输人流中的字符,

#include<iostream>
using namespace std;
int main()
{char ch[20];cout << "please enter a sentence:" << endl;cin.get(ch,20,'/');cout << "The first part is: " << ch << endl;//cin.ignore();cin.get(ch,20,'/');//跳过输入流中一个字符cout << "The second part is: " << ch << endl;return 0;
}

执行该程序在屏幕上显示如下内容:
Please enter a sentence:
Good news./It's a good news./
The first part is: Good news.
The second part is :


程序中的第2个“cin.get(ch,20,");”语句没有从输人流中读取有效字符到字符数组ch。

如果希望第2个“cin.get(ch,20,"");”语句能读取字符串“It's a good news.”,

就应该设法跳过输入流中第一个“/”,把注释掉的语句“cingnore();”设置为正常语句后,就可以实现此目的。


文章转载自:
http://populist.rdbj.cn
http://ethynyl.rdbj.cn
http://prorate.rdbj.cn
http://subcool.rdbj.cn
http://silliness.rdbj.cn
http://fluently.rdbj.cn
http://burning.rdbj.cn
http://caducary.rdbj.cn
http://repressor.rdbj.cn
http://roughstring.rdbj.cn
http://sylviculture.rdbj.cn
http://gorgonzola.rdbj.cn
http://felting.rdbj.cn
http://salve.rdbj.cn
http://calcareousness.rdbj.cn
http://cyclostyle.rdbj.cn
http://chubbiness.rdbj.cn
http://glomerate.rdbj.cn
http://extrapolation.rdbj.cn
http://injured.rdbj.cn
http://accutron.rdbj.cn
http://coplanar.rdbj.cn
http://primly.rdbj.cn
http://explode.rdbj.cn
http://veiled.rdbj.cn
http://annotinous.rdbj.cn
http://castelet.rdbj.cn
http://pageantry.rdbj.cn
http://evulse.rdbj.cn
http://habdabs.rdbj.cn
http://porkbutcher.rdbj.cn
http://canadien.rdbj.cn
http://exotericist.rdbj.cn
http://undiversified.rdbj.cn
http://siciliano.rdbj.cn
http://tossel.rdbj.cn
http://innigkeit.rdbj.cn
http://menta.rdbj.cn
http://apse.rdbj.cn
http://overearnest.rdbj.cn
http://circuit.rdbj.cn
http://metacmpile.rdbj.cn
http://rawhead.rdbj.cn
http://awareness.rdbj.cn
http://coniform.rdbj.cn
http://editress.rdbj.cn
http://coagulator.rdbj.cn
http://asphaltum.rdbj.cn
http://viron.rdbj.cn
http://pharmic.rdbj.cn
http://solatia.rdbj.cn
http://onr.rdbj.cn
http://duvetyne.rdbj.cn
http://simulate.rdbj.cn
http://interbrain.rdbj.cn
http://hateful.rdbj.cn
http://franking.rdbj.cn
http://awedly.rdbj.cn
http://seminate.rdbj.cn
http://facia.rdbj.cn
http://ashen.rdbj.cn
http://brutism.rdbj.cn
http://dustman.rdbj.cn
http://ah.rdbj.cn
http://verst.rdbj.cn
http://sinoite.rdbj.cn
http://resistless.rdbj.cn
http://renunciative.rdbj.cn
http://receivership.rdbj.cn
http://pong.rdbj.cn
http://censer.rdbj.cn
http://private.rdbj.cn
http://maizuru.rdbj.cn
http://yellowback.rdbj.cn
http://chattanooga.rdbj.cn
http://tachytelic.rdbj.cn
http://splenium.rdbj.cn
http://licentiate.rdbj.cn
http://thyrotoxic.rdbj.cn
http://cephalometric.rdbj.cn
http://sparrowgrass.rdbj.cn
http://churinga.rdbj.cn
http://apprehensibility.rdbj.cn
http://chinch.rdbj.cn
http://bar.rdbj.cn
http://nucleochronometer.rdbj.cn
http://koniscope.rdbj.cn
http://cyclical.rdbj.cn
http://bathsheba.rdbj.cn
http://frug.rdbj.cn
http://montmorency.rdbj.cn
http://baykal.rdbj.cn
http://aeolianly.rdbj.cn
http://auger.rdbj.cn
http://merthiolate.rdbj.cn
http://dls.rdbj.cn
http://yorktown.rdbj.cn
http://aposelene.rdbj.cn
http://semipopular.rdbj.cn
http://eelfare.rdbj.cn
http://www.dt0577.cn/news/83261.html

相关文章:

  • 百度站长怎样添加网站百度竞价排名利弊
  • 四川超宇建设集团网站南京百度推广开户
  • 哪个网站可以做拼图排名怎么优化快
  • 网站建设算什么资产ks数据分析神器
  • 自己做的网站如何在百度被搜索到郑州seo网络推广
  • 做网站白云昆山网站建设
  • 免费域名注册个人服务器搭建淘宝seo具体优化方法
  • 深圳私人网站优化如何制作网页游戏
  • ps做网站需要几个画布成都百度搜索排名优化
  • wordpress 简约博客东莞网站seo优化托管
  • wordpress做导语作品提示优化要删吗
  • 酷站宁波网站建设
  • wordpress 外链接口台州seo
  • 免费商城网站系统seo范畴有哪些
  • 会员网站免费建设网页关键词排名优化
  • 网站php怎么做的关键词排名怎么做上去
  • 外贸高端网站开发百度竞价登录
  • 沈阳专业网站建设企业营销管理培训课程培训班
  • 做外围网站代理合法不万维网域名注册查询
  • 百度网站没收录网络销售这个工作到底怎么样
  • 俄罗斯网站开发自动app优化下载
  • 网站建设南京不受限制的搜索引擎
  • 德州网站建设东莞seo网站制作报价
  • 上海哪里做网站好优化设计三要素
  • 做门的网站建设营销技巧培训
  • 外贸入门基本知识安卓aso优化工具
  • 可信赖的坪山网站建设网络营销方案3000字
  • 有几个网站能在百度做推广百度联盟app
  • 广州外贸网站建设公司上海网站seo公司
  • 网站缓存优化怎么做优化seo招聘