我知道每个人都告诉我要使用fgets而不是gets,因为后者容易发生缓冲区溢出。然而,我对fgets()
中的第三个参数有点困惑。就我所理解的,fgets依赖于:
char * fgets ( char * str, int num, FILE * stream );
char* str
是指向存储输入的位置的指针。
num
是要读取的最大字符数。
但是,什么是FILE *stream
?如果我只是提示用户输入一个字符串(比如一句话),我应该只输入"stdin
"吗?
我应该在顶部靠近main()
处输入FILE *stdin
吗?