------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
1、fgets()函数的使用
该函数是一个文件操作相关的函数
暂时使用这个函数从键盘接受一个字符串保存到数组中。
(1)接受字符串保存到数组中的方法:
char str[50];
1)scanf("%s",str);
缺点:不能接受空格
2)gets(str);
优点:可以接受空格。
缺点:会有一个警告,不安全的。
如果字符串长度正好是50,那么字符会被保存到数组中,但是没有空间保存字符串结束符。
3)fgets()是一个安全的字符串接受函数。
例如:char ch[5];
如果使用fgets()函数,此时数组中最多存放4个字符,会自动的把数组的饿最后一个元素存放'\0' 。
(2)fgets()函数使用格式
fgets(数组名,数组长度,stdin);
注意:
fgets从输入缓冲区读取一个字符串保存到字符数组中
当输入的字符串的长度大于数组的长度,此时fgets会自动的把数组的最后一个元素编程'\0'。
当输入的字符串的长度小于数组的长度时,fgets还会接受回车
去除回车 的办法:
if (ch[strlen(ch) - 1) == '\n')
ch[strlen(ch)- 1) = '\0' ;
2、fputs()使用格式
fputs(数组名,stdout);
3、fgets()和fputs()的优点
fgets()、fputs()最大的优点是棒我们自动截取输入的字符串,使得我们队字符串的存取是安全的。
使用scanf和gets函数在接受的字符串超出数组的长度时,都会接受并保存,但是这样是不安全的。