euckr의 경우 한글을 표현하는데 2byte가 필요하다
그래서 문자열을 복사할때 바이트 단위로 복사하는 함수를 사용할 경우
한글이 잘리는 경우가 발생 할 수 있다
(strncpy(), string::substr() 동일)
그래서 마지막 글자가 한글인지, 영숫자인지 확인하고
(euckr의 경우 한글의 경우 1번째 바이트는 ascii에 포함하지 않는 바이트이다)
한글일 경우 한바이트 덜 복사하는 함수를 만들었는데
strncpy_euckr(string dst, string src, int len); 이런 형태 였다
근데 문제는 이 함수를 사용하면서 터졌다
파라미터 src와 dst를 반대로 넣은 코드를 작성했던것
대부분 잘 넣었는데 한군대 코드에서만, 이슈가 발생하였다
상용서버에 반영전에 찾아서 다행이었다 ㅠ
결론: 파라미터를 잘 보고 쓰자
'new > new dev' 카테고리의 다른 글
gitlab with docker (0) | 2017.06.07 |
---|---|
docker + redmine, docker + gitlab (0) | 2017.03.20 |
docker (0) | 2017.03.18 |
resend 정책 적용 2017.03.03 (0) | 2017.03.04 |
ts 로그 정리 2017.03.01 (0) | 2017.03.01 |