简单的文件的操作~有点诡异
程序代码:
#include<stdio.h> #include<stdlib.h> void insert(int a[11],int n,int x) { int i; for(i=0;i<10;i++)//验证是否读取数据成功 printf("%4d",a[i]); for(i=10;i>n;i++) { a[i]=a[i-1]; } a[i]=x; } void main() { FILE *fp; int a[11],n,i=0,x; printf("请输入要插入的数x:\n"); scanf("%d",&x); while(1) { printf("请输入一个整数n:\n"); scanf("%d",&n); if(n<=10) break; } if((fp=fopen("f:\\test4-2.txt","r+"))==NULL) { printf("can not open the file\n"); exit(0); } for(i=0;i<10;i++)//读取文件数据 fscanf(fp,"%d",&a[i]); insert(a,n,x); printf("哈哈\n");//这是我验证输出结果的,结果是连这个输出语句还有下面的代码都没执行?为什么啊???? rewind(fp);//文件指针重新指向文件开头 for(i=0;i<11;i++) { fprintf(fp,"%d",a[i]); printf("%d",a[i]); } fclose(fp); }问题描述:磁盘文件test4-2.txt(我指定的路径是f盘!)里面有1 2 3 4 5 6 7 8 9 10 十个数字
要求在地n个位置后插入一个数x
比如输入 n为3,x 为112
应输出为1 2 3 112 4 5 6 7 8 9 10并把结果写入到原文件
可是问题出现了~具体情况在我注释中写明了,麻烦给看看哈~