函数原型:
char *fgets(char *buf, int bufsize, FILE *stream);
通过该函数可以从文件中按行(一般是1024字节)读取数据,也可以从标准输入(stdin)读取字符串,对于字符串的输入弥补scanf函数不足,相关功能代码示例:
#include<stdio.h>
#include<unistd.h>
#include<string.h>
#define MAXLINE 10
int main(void){
char buf[MAXLINE];
if(NULL == fgets(buf,MAXLINE,stdin)){//换行符或EOF(文件结束标志)则结束读取
printf("fgets error!\n");
return -1;
}
if(buf[strlen(buf)-1] == '\n') //判断获取的字符串少于MAXLINE时需替换换行符
buf[strlen(buf)-1] = '\0';
printf("buf = %s\n",buf);
return 0;
}
若是从文件中读取数据,则按行读取MAXLINE设置为1024。