반응형
목적
ini파일을 얻어오는 getprivateprofilestring 사용하면서 발생한 오류 해결 포스팅
개발을 하면서 C++언어와 C#언어를 이용해 개발을 하며 ini를 통해 설정 정보를 수정할 수 있도록 개발을 하는 도중 이유를 알수 없게 ini파일을 읽어오지 못하는 경우가 발생하였다.
반응형
위 그림은 ini파일의 저장 인코딩 때문에 발생한 문제점임을 알 수 있었고 간단히 정리하자면 다음과 같다.
1. 함수 사용 시 문자 집합에 따라 차이가 있다.
문자 집합에 따라 GetPrivateProfileㅁㅁㅁA, GetPrivateProfileㅁㅁㅁW로 사용된다. Winbase.h를 보면 아래 코드블럭과 같이 정의가 되어있다.
#ifdef UNICODE
#define GetPrivateProfileString GetPrivateProfileStringW
#else
#define GetPrivateProfileString GetPrivateProfileStringA
#endif // !UNICODE
2. 문자 집합에 맞춰서 ini파일의 인코딩 설정이 필요하다.
GetPrivateProfileㅁㅁㅁA, GetPrivateProfileㅁㅁㅁW의 차이로 ini파일 인코딩 설정을 해야한다. ini파일 인코딩 저장 방법은 아래 그림과 같다.
반응형
'C, C++, C# > Tip' 카테고리의 다른 글
Boost 라이브러리 환경설정 및 Visual Studio 2019 디렉토리 설정 (0) | 2022.02.15 |
---|---|
[BCGControlBar(MFC)] Visual Studio 2019 BCG 설치 및 개발환경 구축 (0) | 2021.12.15 |
GetPrivateProfileString, GetPrivateProfileInt 주의사항 (0) | 2021.05.18 |
Visual Studio 전처리 (0) | 2019.01.23 |
copy stl vector<->array 형변환 정리 (2) | 2019.01.23 |