2014년 10월 27일 월요일

텍스트파일 읽어오기.(MFC)

먼저 라인구분없이 쭈~~~욱 읽어오기.
   CFile file;
   file.Open(.....);
   CString str;

   TCHAR* pos = str.GetBufferSetLength(nSize);
   if (!pos)
   {
    AfxMessageBox(_T("메모리 할당 실패"));
    return;
   }
   memset(pos, 0, nSize);

   char buf[1024];
   int nRead = 0;
   do
   {
    nRead = file.Read(buf, sizeof(buf));
    if (nRead > 0)
    {
     memmove(pos, buf, nRead);
     pos += nRead;
    }
    else
     break;
   } while (TRUE);

//다 사용한 후에 메모리 해제
str.ReleaseBuffer();

한 줄씩(한 라인씩) 읽어오기
CStdioFile file;
file.Open(....);
   CString str,strtemp;

   while(file.ReadString(strtemp))
   {
    strtemp.Replace(_T("\r"),_T("")); //캐리지리턴 제거.
    str+=strtemp;
   }

위와 같이 하면, str에 줄바꿈 없이 텍스트 파일의 내용이 전부 들어가게 된다. 한줄 씩 읽는건 그냥 ReadString하면 끝.

댓글 없음: