C언어 문자열 특정 문자or숫자 갖고오는법

안녕하세요 c언어 공부를 하고 있는 대학생입니다.

1995/11/10,핫식스,서울

이런 문장에서 앞에있는 년 월 일 을 숫자로 갖고와서 변수에 저장하는 방법 없을까요?

1답변

  • 컴파일러: gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.4)

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int main () {
        char str[80] = "1995/11/10,핫식스,서울";
        char yyyymmdd[11];
        const char split[2] = "/";
        char *token;
    
        int year, month, day;
    
        memcpy(yyyymmdd, str, 10);
        printf("%s\n", yyyymmdd);
    
        token = strtok(yyyymmdd, split);
    
        year = atoi(token);
        printf("%d\n", year);
    
        token = strtok(NULL, split);
        month = atoi(token);
        printf("%d\n", month);
    
        token = strtok(NULL, split);
        day = atoi(token);
        printf("%d\n", day);
    
        return 0;
    }
    
    결과:
    1995/11/10
    1995
    11
    10
    

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.