fprintf(FILE *stream, const char *format, [ argument ]…);
接受指针文件,标准参数,数组,可向屏幕,数组,文件传输数据流
fprintf(stdout,"%s %d %s %c",v,&d,r,&u);//屏幕打印数据流.
fprintf(fp,"%s %d %s %c",v,&d,r,&u);//将数据流写入fp指向文件.
fscanf(FILE*stream, const char*format, [argument…]);
接受指针文件,数组,标准参数,可从文件,数组数据中读取值
注意:fscnaf()遇到空格和换行符停止读取.
fscanf(stdin,"%d",&num);//从键盘读取整数型数据,并存储在num中.
fscanf(fp,"%d",&num);//从文件中读取整数型数据,存储在num
fscanf()一fprintf()读写示例:
fprintf(pp,"%d %s %c %#x %f",&i,p,&c,&y,&o);//写入文件
fscanf(pp,"%d %s %c %#x %f",&q,w,&d,&f,&g);//读取文件
fprintf(stdout,"%d %s %c %#x %f",q,w,d,f,g);//屏幕打印
示例程序:
#include<stdio.h>
#include<stdlib.h>
#define MAX 40
int main(void)
{
FILE *fp;
char name[MAX];
if((fp=fopen("file","a+"))==NULL)
{
fprintf(stderr,"Can't open \"file\"file.\n");
exit(EXIT_FAILURE);//exit(1)
}
puts("Enter words to add to the file.");
while(gets(name)!=NULL && name[0]!='\0')
fprintf(fp,"%s ",name);
puts("File:");
rewind(fp);
while(fscanf(fp,"%s",name)==1)
puts(name);
if(fclose(fp)!=0)
puts("File close error!");
return 0;
}
fscanf()读取指定文件类型示例:
#include<stdio.h>
#include<stdlib.h>
#define sizes 40
int main(void)
{
FILE *pt;
char name[sizes];
int i;
int s=0;
puts("Enter file name:");
gets(name);
if((pt=fopen(name,"r"))==NULL)
{
puts("File open error!");
exit(EXIT_FAILURE);
}
rewind(pt);
while(feof(pt)==0)
{
s++;
if(fscanf(pt,"%d",&i)==1)
printf("第%d个数为%d.\n",s,i);
else
fscanf(pt,"%*c");// %*c 为跳过
}
if(fclose(pt)!=0)
puts("Close file error.");
return 0;
}