필수불가결한 상황이라 sprintf 를 조금 변칙으로 사용중인데요,

firea32의 이미지

어플리케이션을 만드는 도중 로컬라이제이션 문제때문에

string local = "%d(한글또는영어)/%s";
char tmp[128];
sprintf(tmp, local.c_str(), var, var2);

이렇게 사용중인데 실제로 복사된 문자열을 보면 제대로 들어갈때도 있고, 그렇지 않을 때도 있는데 이유를 모르겠네요...
kukyakya의 이미지

제대로 실행될 때와 제대로 실행되지 않을 때의 var, var2를 같이 적어주시면 다른 분들이 답변하는데 더 도움이 될 것 같습니다.

올려주신 코드만으로는 '해보니 문제 없이 동작합니다'라는 답변 말고는 다른 답변을 달기 어렵군요.

익명 사용자의 이미지

한글이 euckr이나 utf8이면 문제없겠지만 분명 utf16이나 utf32쓰고 있을듯

mirheekl의 이미지

디버거를 돌리든지 출력부를 수정하든지 해서 캐릭터 단위로 일일이 데이터를 확인해보면 금방 원인을 찾을 수 있을겁니다.

--