파일입출력 토큰에 관해서입니다.

질문 제목 : 파일입출력시 한번에 토큰을 구별하여 저장하는것외부에서 파일을 불러와서 구조체에 저장하려고합니다.
a1,a, 00:00, 15 - txt 파일에는 이런 form 의 데이터가 여러줄 들어있습니다.

그래서 fscanf로 파일을 읽어서 바로 구조체에 넣으려고 하는데
00:00 이부분에서 에러가 뜨는 듯 합니다.
질문 내용 :
처음에 제가 만든 구문입니다.
fscanf(fp,%s %s %d:%d %d, arr[i].name, arr[i].type, &arr[i].arr_m, &arr[i].arr_s, &arr[i].burst);

00:00 을 %d:%d 로 받으려 햇으나 안되더군요 그래서 %d %d로 했는데, 그것도 오류가 납니다.00:00 을int형으로 각각 따로 받아서 저장하는 방법이 궁금합니다. ㅠㅠ

도와주세요 !!

댓글 7

  • 헛장사 2025.11.26

    훔..위방식이 비주얼에선 안되는듯 하네요. 리눅스상에서는 되는데 흐규

  • 엘핀 2025.11.26

    fscanf(fp,\%[^,], %[^,], %d:%d,%d\

  • 바르고 2025.11.26

    fgets 함수로 받아서 for문으로 띄어쓰기마다 string(char배열)로 쪼개고 :를 발견했을때 양옆의 수를 따로 저장하는 식으로 하면어떨까요?

  • 요루 2025.11.26

    감사해요 ㅎ 일단은 급하게라도 알려주신방법으로 인공호흡중이에요 ㅠ

  • 쇼콜라데 2025.11.26

    네네. 00:00 을 char time[100] 이런데다가 집어넣어서 strtok으로 나누셔셔 각각 atoi로 int에 집어넣으심 될 것 같습니다. 제가 시계프로그램 만들면서, strtok으로 했거든요.

  • 꽃햇님 2025.11.26

    그것도 생각해 봤는데, 복잡할 것 같고, 구체적으로 어떻게 해야할지 감이 전혀안잡혀서요..
    그럼 char 형 변수를 따로 만들어서 여기다 넣은다음에 strtok로 나누고, 나누어진 스트링을 atoi로 int로 바꾸어야하나요 ?;; ㅠㅠ

  • 큰꽃 2025.11.26

    음.. 제가 그게 오류가 나는건지 확인을 안해봐서 모르겠지만, %s으로 한꺼번에 다 불러들여서, :를 델리미터로 지정해서 strtok으로 나누면 될 것 같습니다. 생각나는게 이것밖에 없네요.

C언어 다른 글

목록