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

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

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

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

一:cin

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

                 char str[10];

                  cin>>str;

                cout<<str;

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

代码如下:                                                                   

 

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

  结果:

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

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

二:getline()

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

代码如下:

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

结果:

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

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

代码如下:

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

结果:

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

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

代码数组:

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

结果:

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

 

三:get()

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

代码如下:

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

结果:

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

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

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

代码如下:

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

结果:

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

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

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

原文链接: https://www.cnblogs.com/ascall/p/8227587.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

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

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/267307

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月14日 下午6:27
下一篇 2023年2月14日 下午6:27

相关推荐