scanf/printf 是针对标准输入流/标准输出流的 格式化输入/输出语句
fscanf/fprintf 是针对所有输入流/所有输出流的 格式化输入/输出语句
struct S
{
int n;
float course;
char arr[10];
}
int main()
{
struct S s={100,2.25f,"ferfe"};
FILE*pf=fopen ("text.txt","w");
if (pf==NULL)
{
return 0;
}
fprintf(pf,"%d %f %s",s.n,s.course,s.arr);
fclose (pf);
pf==NULL;
return 0;
}
struct S
{
int n;
float score;
char arr[10];
}
int main()
{
struct S s={123,3.1451,"hghd"};
FILE*pf=fopen("text.txt","r");
if(pf==NULL)
{
return 0;
}
fscanf("%d %f %s",&(s.n),&(s.score),&(s.arr));
printf("%d %f %s",s.n,s.score,s.arr);
fclose (pf);
pf=NULL;
return 0;
}
sscanf/sprintf
sscanf 是从字符串中读取格式化的数据
sprintf是把格式化数据输出成(存储到)字符串
struct S
{
int n;
float score;
char arr[10];
}
int main()
{
struct S s={123,3.14f,"abcds"};
struct S f={0};
char buf={0};
sprintf(buf,"%d %f %s",s.n,s.score,s.arr);
sscanf(buf;"%d %f %s",&(f.n),&(f.score),&(f.arr));
printf("%d %f %s",f.n,f.score,f.arr);
return 0;
}