C++各种输入

您所在的位置:网站首页 文字输入方法有哪些 C++各种输入

C++各种输入

2024-07-12 12:16| 来源: 网络整理| 查看: 265

1.cin.get()基本用法

(1)1个参数

用法:a = cin.get() 或者 cin.get(a)

结束条件:输入字符足够后回车

说明:这个是单字符的输入,用途是输入一个字符,把它的ASCALL码存入到a中

处理方法:与cin不同,cin.get() 在缓冲区遇到[enter],[space],[tab]不会作为舍弃,而是继续留在缓冲区中

(2)2个参数

用法:cin.get(arrayname,size) 把字符输入到arrayname中,长度不超过size

注释:arrayname必须是char[]类型,即char数组类型,不可以为string类型;size是指输入长度,即允许输入的最大长度。

处理方法:假设把数据输入到 char a[arraylength],数组长度为arraylength。cin.get(a,size)—size,arraylength不同可以分为四类:

类1:输入串长arraylength,会自动扩张arrayname大小,使能保存所有数据

例1:char a[10];cin,get(a,20);

输入:123456789012[enter]

输出a数组:123456789012 可以发现,输入12个字符到a[10]中,系统自动扩充a[10],此时实际数组长为13(‘123456789012’\0’’)。但当计算sizeof(a)时,还是现实为10

类2:输入串长

例2:char a[10];cin.get(a,20);

输入:12345[enter]

输出:12345,此时数组内数据为‘12345‘\0’’

类3:输入串长>size,先截取size个字符,若还是大于arraylength,则输入前arraylength-1个字符,最后补充‘\0’

例3:char a[5];cin,get(a,10);

输入:123456789012[enter]

输出:123456789 先截取了9个字符变成‘123456789‘/0‘’,然后放入到a中,a自动扩张长度

类4:输入串长>size,先截取size个字符,若小于arraylength,则把截取串放入数组中,最后补充‘\0’

例4:char a[15],cin.get(a,10)

输入:123456789012[enter]

输出:123456789 此时数组内为‘123456789‘\0’’ 注意:前size-1有效,最后一个补‘\0’

综上:当吧大于数组长度的字符串放出char a[arraylength]中,系统自动扩张数组a的长度使a能放得下,但是这么做容易产生运行错误。

(3)3个参数

用法:cin.get(arrayname,size,s) 把数据输入到arrayname字符数组中,当到达长度size时结束或者遇到字符s时结束

注释:a必须是字符数组,即char a[]l类型,不可为string类型;size为最大的输入长度;s为控制,遇到s则当前输入结束缓存区里的s将被舍弃。

2.cin.getline()基本用法 cin.getline() 的用法和 cin.get() 用法大致相同,没有一参数用法,只有二参数,三参数两类

cin.gerline( arrayname, size )

cin.getline( arrayname, size, s )

用法与 cin.get() 效果大致相同,但也有些区别

(1)cin.getline(arrayname,size)与cin.get(arrayname,size)的区别

cin.get(arrayname,size)当遇到[enter]时会结束目前输入,他不会删除缓冲区中的[enter]

cin.getline(arrayname,size)当遇到[enter]时会结束当前输入,但是会删除缓冲区中的[enter]

#include using namespace std; int main() { char a[10];char b; cin.get(a,10); cin.get(b); cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3