[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 문서를 참조하시기 바랍니다.
[참고자료]
- libyaml 공식 웹사이트: https://pyyaml.org/wiki/LibYAML