- 1
- 0
- 约3.53千字
- 约 4页
- 2018-12-01 发布于浙江
- 举报
9.2字符串处理函数
9.2字符串处理函数
9.2.1 gets()函数和puts()函数
除了cout和cin外,系统还提供了两个非常容易使用的字符串输入/输出函数,我们将在这一节讨论他们的用法。
gets()
这是一个从标准输入设备(一般指键盘)读取字符串的函数。使用这种方式读取字符串时,会一直读取字符,直到碰到\n(这是一个换行字符,没当按下enter键时,键盘就会产生这个字符),然后在字符串末端加上\0符号。
注意:使用cin或scanf()函数读取字符串时,系统会一直读取字符,直到碰到空白或\n才停止。
例如,假设有一段语句如下所示:
char str1[81],str2[81];
.
.
gets(str1);
cinstr2;
.
.
假设输入字符串如下所示:
Introduction to C++ language
By Lao-ya Tang
程序运行完后,str1字符串为Introduction to C++ language,str2字符串为By。
puts()
这个函数的主要功能是输出字符串,它的使用格式如下:
puts(字符串变量);
当然,我们也可以直接将所要输出的字符串放入puts的括号内,然后用双引号()括起来。
例如,假设有一条语句如下:
puts(testing testing);
上述语句的输出结果如下所示:
testing testing
由于puts()函数定义在stdio.h内,所以使用前应在程序前面加上:
#include stdio.h
[例9.5] 基本puts()函数的应用
#include iostream.h
#include stdio.h
void main(void)
{
char str1[81];
coutPlease enter a string:endl;
gets(str1);
puts(Your input is:):
puts(str1);
}
执行该程序的运行结果为:
Please enter a string
Introduction to OOP
Your input is:
Introduction to OOP
9.2.2 用cin读取字符串
如果预先定义某个字符串变量的长度是10,由于此字符串的结尾字符是\0,因此此字符串变量最多可存放9个字符。在Borland C++中,当利用cin读取字符串时,若输入超过9个字符将导致系统无法运行。为了解决此问题,我们可以在cin右边加上setw(10),指明所读取的字符串的最大长度是10个字符,其中包含一个结尾字符。Visual C++ 则可接受输入超过10个字符的情形,但以后可能会影响这个变量的值。
[例9.6]分析下列程序的执行结果。
#include iostream.h
#include iomanip.h
void main(void)
{
char str1[10];
coutPlease enter a string:endl;
cinsetw(10)str1;
coutstring1 is:str1endl;
}
执行该程序的运行结果:
Please enter a string
Introduction
string1 is:Introduct
利用cin读取字符串,本程序首先定义str1字符串变量的长度是10,然后分别输入小于10和大于10个字符的字符串,最后输出运行结果。
将setw(10)置于cin的右边,以控制所读取的字符串。
从该程序可知,当使用cin读取字符串时,所读字符串数据碰到空白字符就无法再读了,例如,在该实例中,尽管输入如下:
By Lao-ya Tang
但是只能读取By,若想利用cin读取上述整个字符串,则可以利用cin.get().get()是cin所属输入流类的成员函数。
[例9.7]重新设计程序实例,用cin.get()读取字符串
#include iostream.h
#include stdio.h
void main(void)
{
char str1[81],str2[81];
coutPlease enter 2 strings:endl;
gets(str1);
cin.get(str2,81)
您可能关注的文档
- 5、试题各部分命题设计思想(测量目标、试题、答题、原因分析、难度.ppt
- 5参加教育教学能力测评(讲课)通知.doc
- 5月17日杨浦区培训会发言内容.doc
- 60 房地产融资市场的特征及发展趋势.doc
- 6269中学语文教学法B.doc
- 65、基于超图导航平台SNE的移动智能导航系统.doc
- 676GL5-IP调试方法.pdf
- 6: - 附件6:.doc
- 70年代校园民歌.doc
- 7Eleven公司的物流战略的启示物流师资格考试.pdf
- 2026道德与法治一年级下册第13课《快乐的儿童节》第2课时课件.ppt
- Unit 2 Stay Healthy课时1 Section A 1a-1d(课件)英语新教材人教版八年级下册.ppt
- Unit 3 Growing Up课时2 Section A 2a-3d 含交互动画(课件)英语新教材人教版八年级下册.ppt
- 第二单元 第4课时 用乘法口诀求商(一)(教学课件)数学西南大学版二年级下册2026.ppt
- Unit 3 Growing Up课时4 Section B 1a-1f含交互动画(课件)英语新教材人教版八年级下册.ppt
- 第三单元第6课时 万以内数的读法(教学课件)数学人教版二年级下册2026.ppt
- 2026浙美版美术三年级下册全册教学设计.pdf
- Unit 1 Time to Relax课时2 Section A 2a-3d (课件)英语新教材人教版八年级下册.ppt
- Unit 1 Time to Relax课时5 Section B 2a-2c(课件)英语新教材人教版八年级下册.ppt
- 第二单元 第3课时 除法的初步认识(教学课件)数学西南大学版二年级下册2026.ppt
原创力文档

文档评论(0)