C语言输入输出函数之 fputs(...)

       C语言中fgets(...)从流中读入输入,相反fputs(...)向文件写入数据。

     对于ANSI C 程序,运行时系统会打开至少三个流,这3个流包括:

      1.   标准输入    standard input .    标准定义为stdin.

      2    标准输出    standard output.   标准定义为stdout

      3.   标准错误    standard  error.     标准定义为stderr.

      同时用FILE 结构指向这三个流。。

       fputs(...)用于向这三个流写入数据。

       原型  int  fputs(char *s, FILE *stream);

        s 为字符指针, 这儿既可以用字符数组,还可以字符指针,也可以直接使用字符串常量做为参数。

       example:

          FILE *fp=fopen("test.txt","w");

          char s1[20]="hello world";

          char *s2="hello C";

   fputs(s1,fp);   // 数组名

          fputs(s2,fp);   //字符指针

         fputs("hello",fp);  //字符串常量

       上面三种用法都是可以的,实质上, C语言中字符串的直接值其实都是指针。

     返回值:

         如果写入成功,则返回非0,此时编译器默认为返回1.

         如果写入错误,则返回EOF。

        注意: fputs(char *s, FILE *stream) 函数向文件写入数据成功后,文件位置指针会自动向后移。

        fputs(...)向屏幕输出数据。

       既然FILE 结构可以指向三种流,当然也可以指向stdout 流

        所以:

           fputs("hello world",stdout);

        就是想屏幕输出hello word.

      最后来看看fputs(...)函数的标准库实现:

        int  fputs(char *s, FILE *stream)

  {      

       int c;

       while(c =*s++)   //从这儿可以看出,fputs不会向流写入字符串结尾的空字符。

          putc(c,stream);

       return ferror(stream)? EOF: 非负值

  }     

  • 6
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值