티스토리 뷰
CMapStringToPtr
문자열포인터를 특정 키(String, 인수)로 배열처럼 관리해줌.
1. 문자열배열 할당
m_map호가잔량[str종목코드] = new CString[41]; // 종목의 호가잔량 정보저장을 위해 추가
2. 문자열 저장
1
2
3
4 |
CString* pstr호가잔량 = NULL; //매도호가:1~10, 매수호가:11~20, 매도잔량:21~30, 매수잔량:31~40
b = m_map호가잔량.Lookup(str종목코드, (void*&)pstr호가잔량);
if (b == FALSE) return; // 못찾으면 무시
pstr호가잔량[i + 1] = GetDispData(ps매도호가 + i * 36, nSize호가, DATA_TYPE_LONG); // 매도호가 문자열을 저장 |
cs |
3. 저장된 문자열 배열을 찾아 문자열 얻기
1
2
3
4 |
CString* pstr호가잔량[41] = NULL; //매도호가:1~10, 매수호가:11~20, 매도잔량:21~30, 매수잔량:31~40
BOOL b = m_map호가잔량.Lookup(str종목코드, (void*&)pstr호가잔량); // str종목코드의 호가와 잔량을 저장한 문자열포인터를 찾음
if (b == FALSE) return; // 없으면 리턴
int n매도잔량1 = atoi(pstr호가잔량[21]); |
cs |
4. 해제
1
2
3
4
5
6
7 |
CString* pstr호가잔량;
BOOL bResult = m_map호가잔량.Lookup(strCompanyCode, (void*&)pstr호가잔량);
if (bResult)
{
m_map호가잔량.RemoveKey(strCompanyCode); // 해당키의 정보를 삭제
delete[] pstr호가잔량; // RemoveKey에서 힙도 자동해제 하는지 몰라 강제로 해제 시킴
} |
cs |