文件追加 不了,为什么?
程序运行结果:
#include<iostream>
#include <algorithm>
using namespace std;
int main()
{
int a[3][10],i;
FILE * fp;
if((fp=fopen("b.txt","a+"))==NULL) //以读写方式打开文件
cout<<"fopen error!"<<endl;
for(int j=0;j<3;j++) //读文件
for(i=0;i<10;i++)
{
fscanf(fp,"%d",&a[j][i]);
}
for(i=0;i<3;i++) //排序
sort(a[i],a[i]+10);
for(j=0;j<3;j++)
for(i=0;i<10;i++) //输出到文件末尾
{
printf("%4d",a[j][i]);
fprintf(fp,"%4d",a[j][i]);
}
fclose(fp);
return 0;
}
代码如上示,我的b.txt中有30个数字。目的是读出来之后 以10个为一组排序,然后追加到该文件末尾。
运行结果如上示
但是发现 只能读出和排序没有办法追加的文件末尾,这个是什么原因呢?请大神们指导一下,多谢!