[질문] 바이너리 데이터를 16진수로..
아서
C++ 깊게 들어갈수록 힘들어지네요 ㅡㅡa
지금 하고 있는 것이..
이미지파일을 헥사코드(16진수)로 나타나게 하는 겁니다.
CxImage로 하긴 했는데..
헥사 에디터로 보여지는 헥사코드와 CxMemFile에 불러온 버퍼안에 내용이랑 다른겁니다.
완전히 다른게 아니라 부분 일치라는 거죠..
CxMemFile은 다음과 같이 이용했습니다.
CxMemFile memfile;
memfile.Open();
image.Encode(&memfile,CXIMAGE_FORMAT_JPG); // image: CxImage Class
BYTE* buffer = memfile.GetBuffer();
long size = memfile.Size();
TRACE( - - );
free(buffer);buffer 안에 헥사코드가 들어있더군요.
이게 아닐꺼 같아서
CFile 이용하려고 하는데...
CxImage를 통해서 거의 다왔듯이 해서.. 손에 안잡히네요..
어떻게 하면 좋을까요..?
ps. (10분뒤..) 제가 확인해 본 결과..
위에 buffer로 새로운 이미지 파일을 복사를 해서 만들었는데..
복사가 되었습니다. 한마디로 문제가 없었다는거죠.. (헥사 에디터가 잘못 된걸까요 아님 제가 디버깅을 잘못한걸까요? ㅡㅡa)
자문 자답이 되어 버렸는데...
다른 질문이 생겼습니다.~
맨 밑에 free(buffer)에서 에러가 생깁니다.
컴파일에선 문제가 없는데... 실행때 오류 메시지를 띄우네요..
free()라 하믄 malloc 과 같은 동적으로 활당을 받았을때 이용후 반납할때 쓰이는걸로 아는데...
buffer는 동적으로 할당된건가요?
free()가 없으니까 실행때 오류메시지를 안띄우던데...