천객만래 [千客萬來] (It has an interminable succession of visitors)

'CArray'에 해당되는 글 1건

  1. 2011.12.20 [개발/MFC] 파일에서 불러들인 문자열 나누기 Tokenize
[개발/MFC] 파일에서 불러들인 문자열 나누기 Tokenize

vector나  AfxExtractSubString 함수를 사용하지 않고 하려고 찾다가 보니
MFC에서 지원하는 CString 내 tokenize() 함수가 있어서 이 함수를 사용하게 되었다.
아래 사이트의 내용을 보고 배워서 잘 사용하고 있다.


출처:  http://www.cyworld.com/blog_calmtot/3254873 

//load the ini file setting value.
 CArray<CString,CString&> tokens;
 CFile file;
 BOOL bFileOpend = file.Open(DBConnFile,CFile::modeRead);
 if(bFileOpend)
 {
  char buf[100] = {0,};
  file.Read(&buf,sizeof(buf));
  CString strBuf = buf;  
  int pos = 0;
  CString token;

  while((token = strBuf.Tokenize("|",pos)) != "")
  {
   CString str(token);
   tokens.Add(str);
  }
  file.Close();

  if(tokens.GetSize() == 4)
  {
   mEditHost.SetWindowTextA(tokens.GetAt(0));
   mEditDB.SetWindowTextA(tokens.GetAt(1));
   mEditUser.SetWindowTextA(tokens.GetAt(2));   
   mCEditPort.SetWindowText(tokens.GetAt(3));
  }
 }

 

CFile 로 파일을 읽기모드로 열어 문자열을 buf 에 읽어 들인다.

CString 클래스를 이용해 Tokenize 함수를 호출하여 "|" 문자로 나누어져 있는 문자열을

각각 분리하여 CArray 클래스에 넣는다.  - CalmToT- 
Posted by SB패밀리