うまくいきません。
読み込みについて
void readrank(){
FILE *fp;
if((fp = fopen(("ranking.csv"),"r")) == NULL)
{
printf("cannot open csv.\n");
exit(1);
}
while(!feof(fp) && !ferror(fp) && aaa==0 )//04
{
if(i==0)
fscanf( fp, "%[^,],%[^,],%s",buff1, buff2);//i=i+1;
if(i!=0)
{
/* csvから、10進整数、文字列、小数を読み込む */
fscanf( fp, "%d,%d",&buff3, &buff4);
if(buff3==NULL)
{
aaa=aaa+1;
break;
}
else
{
rank[i-1] = buff3;
rankp[i-1] = buff4;
}
}
i++;
}
fclose(fp);
}
そして表示は
DrawString(100,100,"順位 点数",GetColor(255,255,255));
for(int i=0 ;i<10;i++){
DrawFormatString(100,120+i*20,GetColor(255,255,255),"%d %d",rank[i],rankp[i]);
}
しかし、うまく表示されず
csvの中身 実際の表示
順位 点数 順位 点数
1 1000 2 900
2 900 3 800
3 800 4 700
4 700 5 600
5 600 6 500
6 500 7 400
7 400 8 300
8 300 9 200
9 200 10 100
10 100 10 100
というようになってしまいます。
試しに順位と点数の表示を
DrawFormatString(100,100,GetColor(255,255,255),"%s %s",buff1,buff2);
に変えてみたところちゃんと表示されるためなぜか1位のところだけ飛ばされるようです。