[c++] libyaml 사용 예제

먼저 libyaml을 설치합니다. 일반적으로 리눅스 시스템에서는 패키지 관리자를 사용하여 설치할 수 있으며, 윈도우 시스템에서는 공식 libyaml 웹사이트에서 다운로드하여 설치할 수 있습니다.

#include <yaml.h>
#include <iostream>

int main() {
    // 데이터를 파싱하여 읽어올 파일명
    const char *input = "example.yaml";
    
    // YAML 파서 생성
    yaml_parser_t parser;
    yaml_parser_initialize(&parser);
    
    // 입력 파일 열기
    FILE *file = fopen(input, "r");
    
    // 파일에서 YAML 데이터 파싱
    yaml_parser_set_input_file(&parser, file);
    
    // 파싱 결과 저장할 토큰
    yaml_token_t token;
    do {
        // 다음 토큰 읽기
        yaml_parser_scan(&parser, &token);
        
        // 토큰 종류에 따라 처리
        switch (token.type) {
            case YAML_SCALAR_TOKEN:
                // 스칼라 토큰일 경우, 스칼라 데이터 출력
                std::cout << "Scalar: " << token.data.scalar.value << std::endl;
                break;
            // 다른 토큰 유형에 대한 처리 추가
        }
        // 토큰 메모리 해제
        yaml_token_delete(&token);
    } while (token.type != YAML_STREAM_END_TOKEN);
    
    // 파서 정리 및 메모리 해제
    yaml_parser_delete(&parser);
    fclose(file);
    return 0;
}

위 예제는 libyaml을 사용하여 YAML 파일을 읽는 간단한 C++ 프로그램입니다. 주어진 파일에서 YAML 토큰을 스캔하고, 스칼라 토큰의 값을 콘솔에 출력합니다.

더 많은 libyaml 기능 및 코드 샘플은 공식 libyaml 문서를 참조하시기 바랍니다.

[참고자료]