一、fputs + fgets
- puts 和 fputs区别
puts(tmpbuff);
fputs(tmpbuff, stdout);
puts会多打印一个\n字符
- gets 和 fgets区别
gets(tmpbuff);
fgets(tmpbuff, sizeof(tmpbuff), stdin);
gets会去掉用户输入\n字符
fgets不会去掉用户输入的\n字符
如下述代码所述fgets上下两行代码等价于gets
char tmpbuff[1024] = {0};
gets(tmpbuff);
printf("tmpbuff = %s\n", tmpbuff);
fgets(tmpbuff, sizeof(tmpbuff), stdin);
tmpbuff[strlen(tmpbuff)-1] = '\0';
printf("tmpbuff = %s\n", tmpbuff);