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' 就行了。