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'. |
|