C语言中怎样读取文件数据并对数据排序再重新写入文件

C语言中怎样读取文件数据并对数据排序再重新写入文件,第1张

#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 = 0i <10i++)

{

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 = 0i <10i++)

{

fread(&b[i],sizeof(int),1,fpn)//用循环进行读取,每次读取int大小,从fpn所指向的文件读取,存入b数组中

}

fclose(fpn) //关闭文件指针

for(i = 0i <9i++) //冒泡排序

{

for(j = 0j <10 - i - 1j++)

{

if(b[j] <b[j + 1])

{

temp = b[j]

b[j] = b[j+1]

b[j+1] = temp

}

}

}

for(i = 0i <10i++) //输出

{

printf("%d\t",b[i])

}

return 0

}

很久没写了,有很多不足,希望见谅!

有3个解决方法,是临时的。方法一:下销辩载“恢复.cmd”的处理文件,下载至桌面后将名字改为“恢复.cmd”,然后双击运行,运行界面会在1秒钟后消失,运行后正常启动游戏即可。方法二:第一种方法使用未恢复的用户,需要亏判缺根据自己的系统下载对应的“msvcirt.dll”文件进行替换,如xp-sp3的用户下载“msvcirt.dll_xpsp3”,vista的用户下载“msvcirt.dll-vista”文件,下载后把文件名字改为“msvcirt.dll”,然后将该文件移动至系统目录“冲简C:\WINDOWS\system32”下,放好以后运行游戏即可方法三:第二种方法,部分用户使用时会提示该目录下已经有msvcirt的文件夹,如果出现该提示,请到系统目录“C:\WINDOWS\system32”下找到一个以“msvcirt”命名的文件夹,将其删除,然后正常登游戏即可。要想根治,到

http://gamesafe.qq.com/CommNews/static/news_detail.htm?fid=48&iPdName=4

看看。

http://dnf.qq.com/CommNews/static/news_detail.htm?fid=1443&iPdName=17


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8169808.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存