本文目录一览:
C语言文件如何进行顺序读写?
c语言 写出来本来就是顺序读写啊 你可以设置 F2单节、 一步步的来读写
C语言中怎样读取文件数据并对数据排序再重新写入文件
#include stdio.h
#include stdlib.h
/**C语言中怎样读取文件数据并对数据排序再重新写入文件*/
int main()
{
FILE *fp,*fpn; //创建文件指针fp和fpn
int a[10],b[10],i,j,temp; //a数组用来存入数据 b数组用来接受文件数据进行重新排序输出
for(i = 0; i 10; i++)
{
a[i] = i; //初始化赋值
}
if((fp = fopen("data.dat","wb")) == NULL) //以只写的方式打开一个二进制文件,没有则自行建立,有的话就进行覆盖
{
printf("Error!\n");
exit(1);
}
fwrite(a,sizeof(a),1,fp); //进行一次写入,写入sizeof大小,将a写入到fp所指向的文件中
fclose(fp); //写完之后关闭文件指针
if((fpn = fopen("data.dat","rb")) == NULL) //以只读的方式打开一个二进制文件
{
printf("Error!\n");
exit(1);
}
for(i = 0; i 10; i++)
{
fread(b[i],sizeof(int),1,fpn); //用循环进行读取,每次读取int大小,从fpn所指向的文件读取,存入b数组中
}
fclose(fpn); //关闭文件指针
for(i = 0; i 9; i++) //冒泡排序
{
for(j = 0; j 10 - i - 1; j++)
{
if(b[j] b[j + 1])
{
temp = b[j];
b[j] = b[j+1];
b[j+1] = temp;
}
}
}
for(i = 0; i 10; i++) //输出
{
printf("%d\t",b[i]);
}
return 0;
}
很久没写了,有很多不足,希望见谅!
C语言中,“顺序读写方式不使用于二进制文件”这句话为什么是对的,,
随机读写一般用于二进制文件。
顺序读写一般用于文本文件。
并不是不能,而是一般不用。文本文件添加一般从头读从尾写,二进制文件按照偏移地址读写。