게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[ 질문 / 본삭금 ] c언어 텍스트파일 수정 질문입니다.
게시물ID : programmer_18885짧은주소 복사하기
작성자 : 데니엘
추천 : 0
조회수 : 366회
댓글수 : 7개
등록시간 : 2016/11/03 16:52:02
옵션
  • 본인삭제금지
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개의 함수만 내림차순으로 정리하여 다시 텍스트파일에 넣는것인데요.

어디서 오류가 나는지 모르겟습니다..ㅠㅠ

도와주시면 감사하겠습니다.
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호