C++学习日记17——字符串string输入

学习C/C++,有个基础知识点就是数据的输入输出。有些情况下,需要从键盘获取数据,此次即讨论如何从键盘输入字符串

C版本

方法一

char name[20];	
scanf("%s",name);
puts(name);

方法二

char name[20];
gets(name);	
puts(name);

方法三(推荐)

char name[20];	
fgets(name,20,stdin);
puts(name);

上述C语言,字符串实际上是用字符数组来表示的,方法一、二都存在数组越界的问题。虽然限定name长度为20,但键盘输入时,系统不会考虑20的长度,所以会不断输入,此时数组内存不够,所出现异常。而方法三,使用fgets()函数,该函数只读取键盘输入的前19个字符,因为还有1个是“\0”,所以有安全性。


C++版本

string name;
cout << "Please input your name : ";
getline(cin, name);
cout << "name: "<<name << endl;
这里使用getline()函数来读取键盘输入的字符串,这里字符串长度不限,直到键盘输入回车键等,会停止输入。

注:上述写出了C/C++两类版本的字符串输入方式,一般推荐C++输入的方法。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值