반응형
250x250
Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Archives
Today
Total
관리 메뉴

폴크(FOLC)

MFC 테크닉 - 파일 제어 ( TXT format ) 본문

C, C++, MFC/C, C++, MFC 테크닉

MFC 테크닉 - 파일 제어 ( TXT format )

folcjin 2021. 12. 12. 21:34
728x90
반응형

# MFC를 이용하는 과정에서 HDD 에 존재하는 파일 ( txt format ) 제어
   > Save, Load 형태 - CStdioFile 이용
   > exe 파일 위치에 test.txt 파일 생성

# 소스 코드
bool CTxTFormHelper::ReadFile(CString strFileName)
{
   std::vector<CString> vecParam;
   CStdioFile file;
   CFileException e;
   if (file.Open(strFileName, CFile::modeReadWrite | CFile::typeText, &e) == TRUE)
   {
     CString strReadData;
     while (file.ReadString(strReadData) == TRUE)
     {
       vecParam.push_back(strReadData);
     }
     file.Close();
     return true;
   }
   return false;
}

bool CTxTFormHelper::SaveFile(CString strFileName, std::vector<CString> &vecData)
{
   CFile file;
   CFileException e;
   if (file.Open(strFileName, CFile::modeCreate | CFile::modeWrite, &e) == FALSE)
   {
     return false;
   }
   for (long n = 0; n < (int)vecData.size(); n++)
   {
     TCHAR *pBuffer = NULL;
     long nStrLength = vecData[n].GetLength();
     pBuffer = new TCHAR[(nStrLength + 1) * 2];
     memset(pBuffer, 0, (nStrLength + 1) * 2);
     WideCharToMultiByte(CP_ACP, 0, vecData[n].GetString(), -1, (LPSTR)pBuffer, (nStrLength + 1) * 2, NULL, NULL);
     pBuffer[nStrLength] = 0;
     file.Write(pBuffer, (UINT)strlen((char *)pBuffer));
     delete[]pBuffer;
   }
   file.Close();
   return true;
}

728x90
반응형
사업자 정보 표시
사업자 등록번호 : -- | TEL : --