#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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)