728x90
c-json을 사용하면서 문제가 꽤 있었다.(json_object을 이용한 라이브러리)
1. 동적할당이라는 점
쓰는건 자유지만 free는 자유가 아니지...제일 짜증나는 상황이 발생한다.
2. 뒤에 tab이 들어가고 공백이 생긴다
3. 내가 원하는 대로 소수점 짜르기가 안된다.
난 소수점 2자리까지만 표시하고 싶은데 안되더라...내가 못찾아서 인가?
4. 익숙하지 않아서 인지 순서대로 무언가의 데이터 넣기가 생각보단...사람차이..
5. yum install 을 해야한다는 점이다.
하면되지 라고 생각할 수 있지만 신경써야할 부분이 하나 더 생긴다.
2번과 3번의 이유로 2가지 종류의 소스를 짰고 그중 하나는 이미 게시물을 올렸고 소수점짜르는 소스는 이 글에 같이 첨부한다.
----------------------------------
소수점 2자리로 짜르는 소스
int JSON_FLOOR_2F(char* pjson)
{
int ncheck= 0;
int nfloorcheck = 0;
int ii =0;
int nlen = strlen(pjson);
int nascii = 0;
int ncontinue = 0;
for(ii = 0 ; ii < nlen ; ii++)
{
nascii = pjson[ii] +'0' -'0';
/* str {str : " ",} double {double : ,} */
/* double don't have " -> checking double's format */
if(nascii == 58) // :
ncontinue = 1;
if(nascii == 32 && ncontinue == 1) // ' '
ncontinue = 2;
if(nascii != 34 && ncontinue == 2) // "
ncontinue = 3;
if(nascii == 34)
ncontinue = 0;
if(ncontinue == 3 && pjson[ii] == '.')
ncheck = 1;
if(ncheck == 1)
{
if( (nascii <= 57 && nascii >= 48) || nascii == 46)
nfloorcheck++;
else
{
nfloorcheck = 0;
ncheck = 0;
ncontinue = 0;
}
}
if(nfloorcheck > 3 && nfloorcheck <= 7)
{
pjson[ii] = 0x20;
if(nfloorcheck == 7)
{
nfloorcheck = 0;
ncontinue = 0;
}
}
}
return 0;
}
728x90
'개발 업무(코딩)-개발자였을때 썼던..' 카테고리의 다른 글
MYSQL TRIGGER(트리거) (0) | 2023.01.09 |
---|---|
C언어 HMAC SHA256 샘플코드(openssl) (0) | 2023.01.09 |
C언어 HMAC SHA256 샘플코드(openssl dgst popen) (0) | 2023.01.09 |
C-JSON EXAMPLE 예제 2 - ARRAY (0) | 2023.01.09 |
C-JSON EXAMPLE 예제 #include<json/json.h> (0) | 2023.01.09 |