关于C/C++文件操作的问题
我的程序如下:
#include<iostream.h>
int main()
{
FILE *p;
p=fopen("test.txt","at");
char a[10]="abc";
char b[10]="def";
char c[10]="ghi";
fprintf(p,"%s%s%s",a,b,c);
fclose(p);
p=fopen("test.txt","rb");
char d[10],e[10],f[10];
fscanf(p,"%s%s%s",d,e,f);
cout<<d<<" "<<e<<" "<<f<<endl;
fclose(p);
getchar();
}
问:为什么我把这句fprintf(p,"%s%s%s",a,b,c);中%s%s%s中间加一空隔
%s %s %s,在执行fscanf(p,"%s%s%s",d,e,f);时就能正确的把abc赋给数组d,def赋给数组e,ghi赋给数组f,当我去掉中间的空隔时就会把abcdefghi都赋给数组d呢,这是为什么啊?