简单的文件的操作~有点诡异
程序代码:#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并把结果写入到原文件
可是问题出现了~具体情况在我注释中写明了,麻烦给看看哈~










