C/C++ 对于字符串输入和输出的函数gets(),fgets(),getline(),puts(),cin,cout的一些看法

本文探讨了C/C++中处理字符串输入输出的常见函数,如cin、getline、fgets等,并给出了使用建议。针对输入,推荐根据空格存在与否选择getline或cin;对于输出,推荐使用cout,其功能更为强大且稳定。总结指出,使用string类型是最佳实践,同时注意输入输出函数的选择对处理字符串问题至关重要。
摘要由CSDN通过智能技术生成

C/C++ 对于字符串输入和输出的函数gets(),fgets(),getline(),puts(),cin,cout的一些看法

对于C/C++中字符串,不论是输入和输出和一些基本的操作都是非常麻烦,细节特别多,学习字符串的过程中,我们首要解决的问题就是结局最基本的输入和输出问题。只有传入数据我们才能进一步对数据进行分析操作。
首先对于字符串的存在形式,是有两种类型的,一种类型是字符数组,另一种类型是string,第二种类型需要加头文件才能更好使用cstring,两者的区别,最通俗的来讲,字符数组能做的,string都能做;string能做的,字符数组不一定能做,所以请直接用string就完事!
一、其次对于字符串的输入,我建议先判断输入格式是什么,为什么这样说,我们看下各个输入:
1.cin:cin是不能读入空格的,或者说cin遇到空格就会停止,因此输入格式中没有空格,我会优先选择cin,有空格的话cin只能读取到空格之前的部分
2.getline(cin,s),比较推荐,可以读取空格,不过使用前还是建议看看输入格式
3.gets(),已经被淘汰了
4.fgets()读入一行数据,不过他会读入你最后提交按下的回车键,这会导致什么结果呢?也就是说你得到的字符串长度总是比你输入的大1,这就可烦人,你只能在跑for循环遍历的时候将最后的换行符给过滤掉,很不建议这个
结论:所以先判断输入格式有没有空格,有getline,没有cin

二、我们看下输出,输出主要是cout与puts,cout大家都很熟悉了,下面来介绍一个puts
puts函数:属于C语言范畴,但是C++也可以使用,是一个只能输出字符串的函数,但是puts可以输出空格,这个它他的一个特性。不过我用puts输出拼接的字符串是经常报错
相比较来说,cout的功能非常的给力啊,我比较推荐输出用cout,对于网上说的cout的不能输出空格,我实验的结果并不是这样,cout是可以输出空格的

总结:省流大师:首先表示用string,其次输入判断首先输入格式,有空格用getline没有用cin,最后说出用cout

真的是困扰我好长时间了,用fgets函数输入一直给我出问题,用puts输出也是一直有问题,不吐不快在这里插入图片描述

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

henu-于笨笨

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值