c语言文件读写问题!
程序代码:
#include <stdio.h> struct list { int i; int a[100]; }a[2],b[2],*p,*q; int main(void) { FILE*l; int i; p=a; l=fopen("z:\\c\\d","wb+"); for(i=0;i<2;i++,p++) { printf("请输入数据"); scanf("%d %s",&p->i,&p->a); } p=a; for(i=0;i<2;i++,p++) { fprintf(l,"%d%s",p->i,p->a); } rewind(l); getchar(); q=b; for(i=0;i<2;i++,q++) { fscanf(l,"%d%s",&q->i,q->a); } q=b; for(i=0;i<2;i++,q++) { printf("%d\t%s \n",q->i,q->a); } fclose(l); getchar(); return 0; }rewind(l);
getchar();
q=b;
为什么这里加了一个getchar();
就可以输出了啊,如果不加的话就会直接闪掉输出。还有就是写入文件的字符是正确的,但是输出地时候却是
即使在%s后面加上\n结果也一样啊!!!!!!!!!!!!!!!