fprintf/fscanf函数分析
宗旨:技术的学习是有限的,分享的精神是无限的。
fprintf/fscanf函数与printf/scanf区别:printf/scanf专门针对标准输入输出流,fprintf/fscanf函数可用于任意流,包括输入输出流。
1、fprintf
——将输出按指定格式放置在指定的输出流上。
(1)函数原型
int fprintf(FILE *fp, const char *s, …);
(2)函数参数
fp:流指针
s:格式或字符串
…:可变参数
(3)返回值
写入文件的字符个数,一般不使用其返回值,使用其副作用(输出功能)。
fprintf(stdout, “%s”, “hello”);
2、fscanf
——从指定的输入流中按指定格式读取数据。
(1)函数原型
int fscanf(FILE *fp, const char *s, …);
(2)函数参数
fp:流指针
s:格式或字符串
…:可变参数
(3)返回值
读出文件的字符个数,一般不使用其返回值,使用其副作用(输入功能)。
fscanf(fp, “%c”, &c);
#include<stdio.h>
#include<stdlib.h>int main(int argc, char **argv)
{char a_buf[256], b_buf[256];FILE *fp;if((fp = fopen("./tmp","w")) == NULL){perror("fopen");exit(0);}scanf("%s" a_buf);fprintf(fp, "%s", a_buf);rewind(fp);fscanf(fp, "%s", b_buf);printf("%s\n", b_buf);fclose(fp);return 0;
}