用fputs()写入,用fgets()读出一个字符串

来源:互联网 发布:工厂网络需求分析报告 编辑:程序博客网 时间:2024/06/15 14:58

      与putc(),getc()类似,将c替换成s的含义是不单单处理一个字符,而是处理一个字符串。这2个函数的原型是:

int fputs(const char *str,FILE *fp);char *fgets(char *str, int length, FILE *fp);

      函数fputs()向指定的流写串(由str指定)。出错时,fputs()返回EOF。

      下面的程序演示fputs()的用法,它把gets()从键盘读入的串写到文件TEST中。键入空行使程序结束。

#include <stdio.h>#include <stdlib.h>#include <string.h>int main(void){  char str[80];  FILE *fp;  if((fp = fopen("TEST", "w"))==NULL) {    printf("Cannot open file.\n");    exit(1);  }  do {    printf("Enter a string:\n");    gets(str);//添加一个新行。因为gets()不保存新行字符,所以写文件首先向串尾添加一个新行字符,便于日后文件的读取    strcat(str, "\n");     fputs(str, fp);  } while(*str!='\n');  fclose(fp);  return 0;}
      运行结果: