c++中关于字符数组的输入与输出(一维)

c++中关于字符数组的输入与输出(一维)

最近总结了一下一维字符数组的输入与输出方法,希望能有用!

首先,先了解一下输入原理:输入数据时会有一个缓冲区,它用来暂时保存键入数据,然后输入函数再从中获取数据。

一维数组的输入有两种形式:1:一个一个输入(用循) 2:一次性输入。下面主要总结一次性输入。

一:cin

cin函数是最简单的输入方法。例如

char str[10];

cin>>str;

cout<

要注意的是:cin是由空格,制表符,换行符,(tab,space,enter)等来界定字符串的,所以cin从缓冲区获取数据时遇到空格就会结束,但又由于缓冲区中有空格后面的数据,所以再用cin时,它不会请求键入数据而是直接获得空格后面的数据。例如:

代码如下:

结果:

这里b并没有输入,它读取了空格后面的数据。

二:getline()

使用cin.getline(str,len),str是字符数组名(传递的是字符数组的首元属地址),len是字符数组的实际长度(但只能输入len-1个字符,还有一个用来存放‘\0’)。cin.getline()能够读取读取空格和制表符等,例如:

代码如下:

结果:

这就说明了getline()能够读取空格和制表符。由于cin.getline()返回的是一个cin对象,所以可以将两个函数并接起来,例如:cin.getline(a,b).getline(c,d),来输入两个字符数组。

代码如下:

结果:

cin.getline()的注意:如果第一个cin.getline(str,len)输入字符长度大于len-1,则得到第一字符串长度为len-1;第二个字符数组为空。

代码数组:

结果:

三:get()

cin.get()的用法与cin.getline()相似,但cin.get()读取到行尾时会保留一个回车键(换行符)在输入流队列中,下一个get()会回收回车键(换行符),例如:

代码如下:

结果:

第二个cin.get()获得了换行符,

要想排除这种现象,可以在cin.get()后加一个cin.get(),也可以并接写成cin.get(a,len).get(),用后一个get()来获得换行符。

代码如下:

结果:

总结完!本人水平有限,如有更好的建议请及时联系我,谢谢!

学习之路,每个人都是过客。

相关内容

达达快送同城多久送达 达达快送同城送达时间介绍
365名品汇推荐码多少

达达快送同城多久送达 达达快送同城送达时间介绍

⌛ 09-13 👁️ 2622
侠盗猎车手:罪恶都市中的地点
bst365大陆投注

侠盗猎车手:罪恶都市中的地点

⌛ 08-06 👁️ 2968
哪个app可以看浙江卫视直播
365上怎么买比分

哪个app可以看浙江卫视直播

⌛ 11-04 👁️ 5106
微粒贷多久提一次额?竟由它来定!
365上怎么买比分

微粒贷多久提一次额?竟由它来定!

⌛ 02-20 👁️ 6864
老子用英語怎麼說,老子的英文說法與文化意涵
365上怎么买比分

老子用英語怎麼說,老子的英文說法與文化意涵

⌛ 09-20 👁️ 7185
雾霾的意思
365上怎么买比分

雾霾的意思

⌛ 10-03 👁️ 8714
看世界杯,智利VS俄罗斯精彩瞬间回顾
bst365大陆投注

看世界杯,智利VS俄罗斯精彩瞬间回顾

⌛ 07-01 👁️ 3018
随机彩票生成器
365名品汇推荐码多少

随机彩票生成器

⌛ 01-05 👁️ 7653