Chinaunix首页 | 论坛 | 博客
  • 博客访问: 558986
  • 博文数量: 142
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1452
  • 用 户 组: 普通用户
  • 注册时间: 2013-09-12 16:28
文章分类

全部博文(142)

文章存档

2016年(10)

2015年(60)

2014年(72)

我的朋友

分类: C/C++

2014-09-26 11:33:37

一、函数原型
#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

点击(此处)折叠或打开

  1. #include <stdio.h>
  2. #include <string.h>
  3. #define MAXLINE 1024
  4. int main(int argc, char* argv[])
  5. {
  6.     char s[MAXLINE];

  7.     if(NULL == fgets(s,MAXLINE,stdin)) {
  8.         printf("fgets error\n");
  9.     }else {
  10.         printf("strlen(s)=%d,s=%s\n",strlen(s),s);
  11.     }
  12.     return 0;
  13. }
编译运行:
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     ----------------------提示出错

阅读(613) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~