개발자 '쑥말고인절미'
[MFC] 파일 불러오기 구현 중 텍스트 깨짐 현상 본문
계산 기록을 텍스트 파일로 생성해서 저장하는 것까지 성공했는데
계산식이 저장된 텍스트 파일을 불러오는 과정에서 계산식이 다 깨져서 출력됐다.
찾아보니 CStdioFile에는 유니코드 문자열 읽는 기능이 없다고 한다. 즉, 유니코드를 읽기 위해서는 CSdtioFile로 읽으려면 CStdioFileEx 이런걸 사용해야 한다고 한다.
흠... 아래 소스를 사용해서 텍스트 깨지는 현상을 해결했는데 뭐가 뭔지 잘 모르겠어서 기록으로 남기기로 했다.
CString m_strPath, str;
FILE* m_pFile;
TCHAR BASED_CODE szFilter[] = _T("텍스트 파일(*.TXT) | *.TXT;*.txt; | 모든파일(*.*) |*.*|");
CFileDialog dlg(FALSE, _T("*.txt"), 0, OFN_HIDEREADONLY, szFilter);
if (dlg.DoModal() == IDOK) {
m_strPath = dlg.GetPathName();
errno_t err = _tfopen_s(&m_pFile, m_strPath, _T("rt,ccs=UNICODE"));
if (err != 0) { return; }
CStdioFile m_File(m_pFile);
m_File.ReadString(str);
AfxMessageBox(str);
m_File.Close();
}
참고링크
https://hubbleconstant.tistory.com/85
[MFC]CStdioFile 클래스를 이용해 유니코드 텍스트 저장, 불러오기
오늘 포스팅할 내용은 MFC에서 CStdioFile 클래스를 이용해 유니코드 텍스트 저장, 불러오기입니다. 유니코드 텍스트가 어떤 인코딩 방식으로 저장되었는지 나타내기 위해 데이터 맨 앞에는 BOM(Byte
hubbleconstant.tistory.com
'STUDY > C++ & MFC' 카테고리의 다른 글
[MFC] 다른 cpp에 있는 멤버 변수 호출해서 사용하기(mfc view 포인터 얻기) (0) | 2022.04.19 |
---|---|
[MFC] 특정문자로 CString 데이터 나누기 (0) | 2022.04.14 |
[MFC] Format()와 WriteString() (0) | 2022.04.13 |
[MFC] CWinApp 클래스와 CWnd 클래스 (0) | 2022.04.13 |
[MFC] Win32 공부중 (0) | 2022.04.12 |