疑问一:我目前使用fgets函数的输入格式是(str , size , stdin ),其中第二项是大小的意思,所以是不是输入多少字符就是多少个字节呢?第三项是否所有情况都是输入stdin呢?
疑问二:在标准的fgets函数中会自动将字符串末尾的'\n'读入,所以在puts时会自动换行。如果是将字符串写入一个字符串数组,我知道如何处理掉末尾的换行符,那如果我使用fgets函数将一个字符串写入一个字符指针,如何将末尾的'\n'处理掉呢?
参考PTA练习13的编程第三题。代码如下:https://onlinegdb.com/95ykND2WbJ
Comments
#include (string.h)
char str[SIZE];
fgets(str, SIZE, stdin);
if (str[strlen(str)] == '\n')
str[strlen(str)] = '\0';
2,fgets读取字符串时,不做任何转换,'\n'只是当作普通字符看待,当然保存到str中。字符指针,无法保存字符串,除非指向一个字符数组。'\n' 自行处理,找到它,然后置0,即 '\0'。