MFC와 My-SQL을 연동하여 사용하였었다.
내용중 사진 파일의 경로 DB에 저장할 필요가 있었는데, 그 정보가 제대로 저장되지 않는 현상이 생겼다.
이유는 다른 아닌 "\"가 SQL상에 저장될때 인식되지 않았던 것.!
이럴때는 "\"로 저장하면 않되고, "\\"로 저장하여야 한다.
파일 경로를 CString으로 저장하고 있었는데, 이 CString을 파싱하여 문장내 모든 "\"를 "\\"로 바꿔주어야 했다.
그래서 간단한 Parsing Code를 작성하였다.
(Parsing된 CString상태로 저장해 두어야 DB에서 꺼낼때 원하는 값을 얻어 적용할 수 있다.)
Call By Reference로 구작성하기 위해서,
(값복사가 아니라 인자 값 자체를 수정하기 위해)
CString *를 인자값으로 받았다.
위 코드를 거치면 인자로 받은 CString상의 "\"는 모두 "\\"로 변환되게 된다.
※ \는 C,CPP상에서 \t, \n등으로 사용되기 때문에 일어나는 현상이다.
내용중 사진 파일의 경로 DB에 저장할 필요가 있었는데, 그 정보가 제대로 저장되지 않는 현상이 생겼다.
이유는 다른 아닌 "\"가 SQL상에 저장될때 인식되지 않았던 것.!
이럴때는 "\"로 저장하면 않되고, "\\"로 저장하여야 한다.
파일 경로를 CString으로 저장하고 있었는데, 이 CString을 파싱하여 문장내 모든 "\"를 "\\"로 바꿔주어야 했다.
그래서 간단한 Parsing Code를 작성하였다.
(Parsing된 CString상태로 저장해 두어야 DB에서 꺼낼때 원하는 값을 얻어 적용할 수 있다.)
void CInputRecipes::parseSTR(CString *temp){ int len=(*temp).GetLength(); for(int i=0;i<len;i++){ if((*temp).GetAt(i)=='\\'){ (*temp).Insert(i,'\\'); i++; } } }
Call By Reference로 구작성하기 위해서,
(값복사가 아니라 인자 값 자체를 수정하기 위해)
CString *를 인자값으로 받았다.
위 코드를 거치면 인자로 받은 CString상의 "\"는 모두 "\\"로 변환되게 된다.
※ \는 C,CPP상에서 \t, \n등으로 사용되기 때문에 일어나는 현상이다.
'무언가 만들기 위한 지식 > Win32/MFC' 카테고리의 다른 글
MFC Double Buffering(더블버퍼링) - 화면끊키지 않게하기. (7) | 2010.02.20 |
---|---|
MFC 파일경로 찾기(FileDialog 사용) (3) | 2010.02.20 |
MFC OnTimer를 이용한 간단한 시계 (1) | 2010.02.20 |
MFC BMP파일 출력하기(이미지 출력) (10) | 2010.02.19 |
MFC 버튼 스타일 바꾸기 (2) | 2010.02.19 |