void tAddScore(char* name, int score)
{
int i,j,temp,length=0;
char name_list[11][10];
char temp_name[11][10];
int score_list[11];
strcpy(name_list[10], name);
score_list[10] = score;
FILE * fp = fopen("ScoreBoard.txt", "r+");
if (fp == NULL)
{
printf("파일이 없습니다.\n");
fflush(stdin);
getchar();
Sleep(1000);
return 0;
}
for (i = 0; i < 10; i++)
{
fscanf(fp, "%s\n%d", name_list[i], &score_list[i]);
}
for (i = 0; i<10; i++)
{
for (j = 0; j<10; j++)
{
if (score_list[j] < score_list[j + 1])
{
temp = score_list[j];//뒷자리의 수가 더 크면 교체
score_list[j] = score_list[j + 1];
score_list[j + 1] = temp;
strcpy(temp_name[j], name_list[j]);
strcpy(name_list[j], name_list[j + 1]);
strcpy(name_list[j + 1], temp_name[j]);
}
}
}
---------------------
이 위에까지는 동작을 합니다..
이 밑에부분을 추가하여 돌리니 에러가 나면서 팅깁니다..ㅠ
fseek(fp, 0, SEEK_SET); //여기서 포인터를 맨첨으로 돌리고 파일을 수정하려고 하는겁니다.
for (i = 0; i < 9; i++)
{
fprintf(fp, "%s\n%d\n", score_list[i], name_list[i]);
}
fprintf(fp, "%s\n%d", score_list[i], name_list[i]); //10번째는 \n 안넣기 위해
fclose(fp);
------------------
이 함수는 입력으로 받아온 이름과 점수를
텍스트파일의 점수 10개와 비교하여
상위 10개의 함수만 내림차순으로 정리하여 다시 텍스트파일에 넣는것인데요.
어디서 오류가 나는지 모르겟습니다..ㅠㅠ
도와주시면 감사하겠습니다.