C语言 文件操作(三)

1.fputs()

int fputs(const char *s, FILE *stream);

s 代表要输出的字符串的首地址,可以是字符数组名或字符指针变量名。

stream 表示向何种流中输出,可以是标准输出流 stdout,也可以是文件流。标准输出流即屏幕输出,printf 其实也是向标准输出流中输出的。

#include<stdio.h>

int main(){
    
    FILE *fp = fopen("f:\\lanyue.txt","w");
    char data[20] = "欢迎来到黑客联盟!";
    
    fputs(data,fp);
    
    return 0;


2.fgets()

char *fgets(char *s, int size, FILE *stream);

其中:s 代表要保存到的内存空间的首地址,可以是字符数组名,也可以是指向字符数组的字符指针变量名。size 代表的是读取字符串的长度。stream 表示从何种流中读取,可以是标准输入流 stdin,也可以是文件流

#include<stdio.h>

int main(){
    
    FILE *fp = fopen("f:\\lanyue.txt","r");
    
    char data[20];
    fgets(data,20,fp);
    puts(data);
    
    return 0;
}

注意:

那有人会问:“用 fgets() 是不是每次都要去数有多少个字符呢?这样不是很麻烦吗?”不用数!fget() 函数中的 size 如果小于字符串的长度,那么字符串将会被截取;如果 size 大于字符串的长度则多余的部分系统会自动用 '\0' 填充。所以假如你定义的字符数组长度为 n,那么 fgets() 中的 size 就指定为 n–1,留一个给 '\0' 就行了。

posted @ 2019-04-05 18:21  IT蓝月  阅读(92)  评论(0编辑  收藏  举报
Live2D