由于gets函数没有指明s的使用空间,存在缓冲区溢出漏洞,不推荐使用。在C11标准里,该函数已被正式删除。
以下介绍fgets的用法:
从文件中读取一行:
#include<stdio.h>
#define maxn 20
int main()
{
char buf[maxn];
FILE * fin;
fin=fopen("test.txt","rb");
fgets(buf,maxn,fin);
printf("%s",buf);
}
从屏幕中读取一行:
#include<stdio.h>
#define maxn 20
int main()
{
char buf[maxn];
fgets(buf,maxn,stdin);
printf("%s",buf);
}
that's all.