一、函数原型
#include
char *fgets(char *s, int size, FILE *stream);--成功返回s,当读到EOF时获取的数据还是为空,返回NULL
int fputs(const char *s, FILE *stream);
二、函数作用
fgets从文件流中读取1~size长度的数据到s中,停止读取的条件是遇到了换行符 或者文件结束符EOF。
注意换行符是作为一个字符被读入s中。
fputs() :把字符串s写入文件流stream, 到'\0'停止,不包含'\0'.
三、举例
fgets.c
-
#include <stdio.h>
-
#include <string.h>
-
#define MAXLINE 1024
-
int main(int argc, char* argv[])
-
{
-
char s[MAXLINE];
-
-
if(NULL == fgets(s,MAXLINE,stdin)) {
-
printf("fgets error\n");
-
}else {
-
printf("strlen(s)=%d,s=%s\n",strlen(s),s);
-
}
-
return 0;
-
}
编译运行:
gwwu@hz-dev2.wgw.com:~/test/socket>./fgets
abc //--------------输入abc + 回车-------------------------
strlen(s)=4,s=abc //--------------输出strlen(s)=4,说明fgets获取了包括回车\n的字符串
//--------------第一个空格为fgets获取的
//---------------第二个空格为printf中的\n
gwwu@hz-dev2.wgw.com:~/test/socket>
当运行在fgets的前提下,按CTRL+D,模拟文件结束EOF
gwwu@hz-dev2.aerohive.com:~/test/socket>./fgets ----------------------按下CTRL+D
fgets error ----------------------提示出错
阅读(623) | 评论(0) | 转发(0) |