9.2字符串处理函数.docVIP

  • 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)

文档评论(0)

1亿VIP精品文档

相关文档