字符串的输入、输出总结(数组字符串)

  • 声明
char str[maxn]      //maxn为常量

char类型数组声明字符串必须给出其大小,之后大小固定。

  • 输入

cinscanf( ) ,都是遇到"空格"、“TAB”、“回车”结束,即一次读取一个单词。

#include<cstdio>
scanf("%s",str);
#include<iostream>
cin>>str;

cin.get ( str , Size ) ,遇到回车或读满 (Size-1)个字符结束,但并不会读入回车,回车依旧被留在缓冲区,第Size个字符也不会被读入

#include<iostream>
cin.get(str,maxn);   //读入maxn-1个字符,留下一个位置给'\0'

Size中包括 '\0’,故读取Size-1个字符
此外,cin.get ( 无参数 ) 用法等同于getchar( )。


cin.getline ( str , Size , 结束字符) ,第三个参数通常省略,省略后默认以‘\0’为结束字符。

cin.getline读取到回车停止后不会将回车留在缓存区,而是将回车读入并替换为’\0’,即完整读入一行但字符串内不会有回车。
结束字符也会被读入但随后被替换为 '\0’


④C语言的gets()和fgets(),详见:https://www.cnblogs.com/qingergege/p/5925811.html


  • 输出
    字符串的输出就很简单了,一般都是从提供的首地址开始,到’\0’结束。
#include<cstdio>
printf("%s",str);
#include<iostream>
cout<<str;

Ps.个人认为在程序设计竞赛当中,读入一个个单词自然是用cin和scanf(),当需要读入一行时,用cin.getline()更好,因为cin.getline()不会将这一行的回车留在缓冲区,但是最好不要加第三个参数(结束字符),因为cin.getline()会将结束字符读入并删除

参考资料:http://www.cnblogs.com/flatfoosie/archive/2010/12/22/1914055.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值