首页 > 编程语言 > 详细

c++中一串字符数组的输入

时间:2014-01-15 23:52:01      阅读:643      评论:0      收藏:0      [点我收藏+]

solution 1:cin

bubuko.com,布布扣
 1 #include <iostream>
 2 using namespace std;
 3 int main() {
 4 
 5     char str[10];
 6     cout << "enter a sentence:" << endl;
 7     while (cin >> str)
 8         cout << str << endl;
 9 
10     return 0;
11 }
cin实例

 

  以输入“abc def g”为例该程序执行结果为:

bubuko.com,布布扣
1 enter a sentence:
2 abc def g
3 abc
4 def
5 g
cin实例执行结果

  执行过程,由于abc、def后为空格,g后为回车,因此cin先将abc读入给str然后打印,依此类推。cin将空格、回车当作不同字符串之间的间隔。

 

solution 2:cin.get()

  有3个参数的get函数

      cin.get(ch,n,‘\n‘);

  1.读取n-1个字符(包含空格),赋给指定的字符数组ch;

  2.如果在读取n-1个字符之前,遇到指定的终止字符‘\n‘,则提前结束读取;(如果第3个参数没有指定,则默认为‘\n‘。

  3.读取成功返回非0值(真),如失败(遇文件结束符)则返回0值(假)。

bubuko.com,布布扣
 1 #include <iostream>
 2 using namespace std;
 3 int main() {
 4     
 5     char ch[20];
 6     cout << "enter a sentence" << endl;
 7     cin.get(ch, 10, o);//指定终止符为‘o‘
 8     cout << ch << endl;
 9 
10     return 0;
11 }
cin.get()实例

以输入“We are good friends”为例该程序执行结果为:

bubuko.com,布布扣
1 enter a sentence:
2 We are good friends.
3 We are g
cin.get()实例执行结果

 

solution 2:cin.getline()

  其参数配置与cin.get()完全一致。

 

重点:getline与get的区别

1.getline遇到终止字符时结束,缓冲区指针移到终止标志字符之后。

2.get遇到终止字符是停止读取,指针不移动。

根据以上例子

We are g↑ood friends.     cin.get()

We are good friends.  cin.getline()

c++中一串字符数组的输入

原文:http://www.cnblogs.com/jerrywyj/p/3515745.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!