A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

fgets(要将字符串存储在哪一个数组中,最多接收多少长度的字符串,指定的流)
第2个参数: 我们写1个n 那么函数最多就接收n-1个长度的字符串.
这个参数一般情况下和第1个参数数组的长度一致.

如何实现安全性的!
a. 如果我们输入的字符串的长度大于等于了 第2个参数n. 只会接收前面的n-1个. 然后最后1个自动是'\0'.
这样,就不会崩了.

b. 如果我们输入的字符串的长度刚好等于n-1 那就是最完美的.

c. 如果我们输入的字符串的长度小于了n-1. 那么就会将我们最后输入的换行字符'\n'一并的接收.
然后后面才是'\0'结束符.

解决方案:
输入完毕之后,判断字符数组中存储的字符串最后1个是不是'\n'
如果是'\n' 那么就将其替换为'\0'.

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马