输入
gets() 函数 :
1.gets() 从标准输入设备读取字符串,以回车结束读取,使用'\0'结尾,回车符'\n'被舍弃没有遗留在缓冲区。
2.可以用来输入带空格的字符串。
3.可以无限读取,不会判断上限,因此使用gets不安全,可能会造成溢出。
fgets() 和 fputs() 函数 :
1.fgets函数的第2个参数指明了读入字符的最大数量.如果该参数是n, 那么fgets会读入n-1 个字符,或者读到第一个换行符为止
2.如果fgets函数读到一个换行符, 会储存在字符串中
3.fgets的第三个参数指明了要读入的文件
4.fputs不在字符串的末尾添加换行符
s_gets()函数 :
char *s_gets(char *st, int n){
char * ret_val;
char *find;
ret_val = fgets(st, n, stdin);
if (ret_val){
// while (*st != '\n' && *st != '\0'){
// st++;
// }
find = strchr(st, '\n');
if (*find){
*find = '\0';
} else {
while (getchar() != '\n'){
continue;