与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;
}
运行结果: