黑马程序员技术交流社区
标题:
输入和输出函数优缺点的比较
[打印本页]
作者:
lyz0925
时间:
2015-3-20 00:38
标题:
输入和输出函数优缺点的比较
****************输入的比较***************************
1.scanf 的缺点:
字符串输入的时候,不能有空格
如果用户输入的字符串长度大于了数组长度,没有空间存 \0
且不安全
2.gets()
优点:字符串输入的时候,可以有空格
缺点:不安全,如果输入的字符串的长度大于了数组的长度,会溢出
3.fgets()安全的字符串输入
如果输入的字符串长度大于了字符数组的长度,此时,fgets会自动截断;
fgets()函数的使用
fgets(字符数组名,数组长度,stdin); //stdin 标准的输入
注意:fgets只能保存数组长度减一个字符的长度;当输入的内容小于数组长度的时候,多接收了一个换行(如何看它多接收了一个换行的标志呢,用输出ASCII码中的10进制数 即%d),解决的办法 把‘\n’替换成‘\0’,如下:
(if(s[strlen[s]-1])==’\n’) s(strlen[s]-1)=’\0’;
***************************输出的比较******************************8
1.printf(“%s\n”,s) 可以格式化输出,但是不能自动换行
2.puts(数组名); 不可以格式化输出,但是可以自动换行
3.fputs() 可以输出一个字符串到文件中, stdout
格式如下:fputs(数组名,stdout);
fputs(s,stdout) 但是不能自动换行
(puts 是可以自动换行的)
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2