2016-09-01 2 views
0

나는 이름과 점수가 저장되는 최고 기록 파일을 가지고 있습니다. 각 항목은 다음으로 나뉩니다. 이름과 점수 사이입니다 - 예를 들어 여기 된다C에서 높은 점수/분석 문자열 읽기

15-Player One;10-Player Two;20-Player Three;10-Player Four;8-Player Five 

내가 지금 문자 * 버퍼에 파일의 내용을 읽고있다

내 목표는 각 항목을 분리하는 지금 또 다른 [buffer.Split (';') for C#]와 같이 정렬하고 오름차순으로 목록을 인쇄하십시오.

가장 쉬운 방법에 대한 모든 전문가 팁이 있습니까? 나는 현재 정전 데 ... string.h에서

+0

http://ideone.com/1KuQ7b 여기 당신이 PRP – PRP

+0

찾고있는 코드입니다 이것은 내가 찾고 있었던 바로 그 것이다! 고마워. – Kai

+0

안녕하세요. PRP. 귀하의 솔루션을 테스트 한 후 지금까지는 좋았지 만 두 번째로 최고 점수 프로세스를 통과 한 후에는 구조체 이름과 점수 값의 일부가 Internet Explorer의 경로와 같이 엄청나게 높은 숫자, 점 또는 임의의 시스템 데이터 정보로 채워집니다 .... 나는 어떤 일이 벌어지고 있는지 알지 못하지만 어떤 종류의 메모리 누출을 가정하고 있습니까 ??? – Kai

답변

0

, 당신은 strtok를()를 사용할 수 있습니다 :

#include <string.h> 
#include <stdio.h> 

int main() 
{ 
    char scores[256] = "15-Player One;10-Player Two;20-Player Three;10-Player Four;8-Player Five"; 
    const char separator[2] = ";"; 
    char *entry; 

    // Get the first entry 
    entry = strtok(scores, separator); 

    // Get all the others 
    while (NULL != entry) 
    { 
     printf("%s\n", entry); 

     /* You can also use it here to separate the actual score from the player */ 

     entry = strtok(NULL, separator); 
    } 

    return 0; 
} 
+0

답변 해 주셔서 감사합니다. 이미 PRP가 ideone.com/1KuQ7b에서 코드 예제를 통해 제안한 방식대로 실제로 정렬 작업을 수행했기 때문에 실제로 그렇게했습니다. 잘 작동하지만이 프로그램에서 항상 가지고있는 문제에 직면하고 있습니다. 두 번째로 높은 점수 화면이 나타나면 실제 구조에 몇 가지 이상한 값이 나타납니다. 난수, 점, 시스템 변수의 경로. 그들은 실제 최고 기록 파일에 없기 때문에 나는 그것이 일어나는 순간에 그것을 디버깅조차 할 수 없다. 나는 그것이 무엇인지 아이디어를 완전히 잃어 버렸다. .... – Kai