fprintf()fscanf()テキスト読み書き関数
fprintf(FILE *stream, const char *format, [ argument ]…); ポインタファイル、標準パラメータ、配列を受け入れ、スクリーン、配列、ファイルにデータストリームを転送できます.
fscanf(FILE*stream, const char*format, [argument…]); ポインタファイル、配列、標準パラメータを受け入れる、ファイル、配列データから値を読み取ることができる注意:fscnaf()はスペースと改行符に遭遇して読み取りを停止する.
fscanf()fprintf()読み書き例:
サンプル・プログラム:
fscanf()指定したファイルタイプの例を読み込みます.
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
#include
#define MAX 40
int main(void)
{
FILE *fp;
char name[MAX];
if((fp=fopen("file","a+"))==NULL)
{
fprintf(stderr,"Can't open \"file\"file.
");
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
#include
#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.
",s,i);
else
fscanf(pt,"%*c");// %*c
}
if(fclose(pt)!=0)
puts("Close file error.");
return 0;
}