关于字符输入

cin, getchar(), cin.get(), cin.getline() 根据不同情况选择不同的输入方式

初始化:char a[ ] = { ’ ’ ’ '}
只可以在数组定义并初始化的时候可用上述赋值方式
不能用赋值语句将一个字符串敞亮或者字符数组直接赋值

输出
可以直接用字符数组名输出 cout << str;
为了确保不输出乱码,需确保以’\0’结尾

字符数组
字符串 以’\0’结尾的字符数组

一个字符的输入

用cin输入一个字符

int a,b;
cin >> a >> b;
//从键盘输入21 22
//cin将空格和回车当做输入数据区分的标志
//cin读出正确的结果会返回该值,不能读出true的值的话就会返回0(while(cin>> grade)),可以实现连续输入

cin读取时会将空格和回车当成间隔符,不作为数据读入,因此输出时会跳过空格回车 跳过空格跳过回车 输入结束标志 Ctrl+Z
eg.
char c;
cin >> c; (abc def g);
cout << c; abcdefg

用cin.get()输入一个字符

cin.get()
cin.get(char)
注:与cin不同,将空格和回车都会读入和输出

eg. c=cin.get() 从缓冲区读入赋给c
或 cin.get© 与上式完全一样

用getchar()输入一个字符

不跳过任何标志
c = getchat()
连结束标志Ctrl+z也会读入 也实现连续输入

字符串的输入

用cin输入字符串

直接用字符串名输入
char str[10];
cin>> str;
cout << str;
将空格回车作为字符的间隔标志,例如abc def g, 输出为三个str,而非中间有‘ ’的str

用cin.get()输入字符串

cin.get(ch, 10, ‘\n’)
读取10-1个字符(包含空格),赋给指定的字符数组ch;
如果读到10-1个字符前,遇到指定的终止字符‘\n’,则读取提前结束;
读取成功返回非0值,否则返回0(false)

将空格和回车读入。

用cin.getline()输入字符串

和cin.get()用法完全相同,但输入时遇到终止字符的停止位置不同
cin.get()遇到终止字符停止读取,指针不动;cin.getline()遇到终止字符停止,指针落到终止字符之后

cin读入之后,光标在7后,所以cin.getline()读到的第一个只是回车符
利用cin.get()读走换行

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值