65,211
社区成员
发帖
与我相关
我的任务
分享
int Title::OpenPlayerData(char *fname,int size,int numx,int numy,TitleData title[][60])
{
FILE *ListFile= fopen(fname,"r");//只读打开一个文件,文件不存在则报错
char s[20]="";
int id=0;
for(int x=0;x<numx;x++)
{
for(int y=0;y<numy;y++)
{
id=atol(fgets(s,1+size,ListFile));
title[x][y].type=id;
// printf("s:|%s|;open:x:%d,y:%d,type:%d\n",s,x,y,title[x][y].type);
}
atol(fgets(s,1+size,ListFile));//读取换行符
}
fclose(ListFile);
return 0;
}
int Title::SavePlayerData(char *fname,int size,int numx,int numy,TitleData title[][60])
{
FILE *ListFile = fopen(fname,"w");//只写打开一个文本,文件不存在则新建,存在则清除原来的内容
// FILE *ListFile = fopen(fname,"a");//追加打开一个文本,文件不存在则新建,存在就续写
for(int x=0;x<numx;x++)
{
for(int y=0;y<numy;y++)
{
char s[20]="";
//fprintf(s,"%d ",title[x][y].type);//size:3
// sprintf(s,"%d ",title[x][y].type);//size:3
if(title[x][y].type<10)
{
sprintf(s,"%d ",title[x][y].type);
}
else if(title[x][y].type<100)
{
sprintf(s,"%d ",title[x][y].type);
}
else if(title[x][y].type<1000)
{
sprintf(s,"%d ",title[x][y].type);
}
else if(title[x][y].type<10000)
{
sprintf(s,"%d ",title[x][y].type);
}
else if(title[x][y].type<100000)
{
sprintf(s,"%d",title[x][y].type);
}
fputs(s,ListFile);
printf("s:|%s|;save:x:%d,y:%d,type:%d\n",s,x,y,title[x][y].type);
}
fputs("\n",ListFile);
}
fclose(ListFile);
return 0;
}