Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
Tags
- 가벼워
- Thread
- Jetson Nano
- inspiron 15 7590
- SetThreadAffinityMask
- 여객선
- 영상처리
- MFC
- 인스피론
- VisualStudio
- 사용자매크로
- 환경변수
Archives
- Today
- Total
MuTa
TIL-rapidJson - 191225 본문
출처
https://moonpmj.tistory.com/11
제시된 방법을 그대로 습득 한다.
보수적인 회사에 오래 나녔더니
.ini 파일을 이용 하여 파라메터 관리를 진행 했었다.
기존 사용한 모듈은 MFC 기반 함수를 사용 해서 좀 번거롭기도 하고
수정 및 보완 하는데 손이 많이 필요 했는데
요런 방식으로 보완 해도 될것 같다.
좀만 더 손에 익혀 보고 이용 해야 겠다.
json file
{
"hello": "world",
"t": true ,
"f": false,
"n": null,
"i": 123,
"pi": 3.1416,
"a": [1, 2, 3, 4]
}
Load block
using namespace std;
using namespace rapidjson;
int main()
{
std::ifstream ifs;
ifs.open("./hellowjson.json");
if(!ifs.is_open())
{
std::cerr << "Load Fail! \n";
return EXIT_FAILURE;
}
else
{
std::cout << "Load Ok!" << endl;
}
IStreamWrapper isw {ifs };
Document doc {};
doc.ParseStream(isw);
StringBuffer buffer {};
Writer<StringBuffer> writer {buffer};
doc.Accept(writer);
if(doc.HasParseError())
return 0;
std::cout << doc["hello"].GetString() << endl;
std::cout << doc["t"].GetBool() << endl;
std::cout << doc["f"].GetBool() << endl;
std::cout << doc["n"].IsNull() << endl;
std::cout <<doc["pi"].GetDouble() << endl;
const rapidjson::Value& valueInfo = doc["a"];
for (SizeType i = 0; i < valueInfo.Size(); i++)
{
std::cout << valueInfo[i].GetInt() << endl;
}
return 0;
}
'MFC-C++' 카테고리의 다른 글
MSVC 라이브러리 관리 (0) | 2020.01.02 |
---|---|
NuGet Package (0) | 2016.06.09 |
대용량 메모리 할당 Massive Memory Alloc (0) | 2016.05.27 |
C++ 11 핵심 (0) | 2016.05.16 |
시스템 현재 코어 개수 구하기 (0) | 2016.05.13 |