_wfopen 예제

내 경우에는 fopen과 동일한 인수를 허용하는 사용자 지정 함수 (비 Win32 플랫폼에서 일반 fopen에 매크로)를 사용했지만 내부에서 문자열을 UTF16으로 변환한 다음 _wfopen을 _wfopen을 아래와 같이 _wfopen으로 변경하려고했습니다. : 예를 들어, 쓰기 비트가 마스크에 설정된 경우 새 파일은 읽기 전용으로 설정됩니다. MS-DOS 및 Windows 운영 체제에서는 모든 파일을 읽을 수 있습니다. 쓰기 전용 권한은 부여할 수 없습니다. 따라서_umask()를 사용하여 읽기 비트를 설정하면 파일의 모드에 영향을 주지 않습니다. 텍스트 모드에서 특정 파일을 열거나 만들도록 지정하려면 모드 문자열(rt, w+t 등)에 t를 더해 보세요. 마찬가지로 바이너리 모드를 지정하면 모드 문자열 (wb, a +b 등)에 b를 부속합니다. fopen은 또한 t 또는 b를 모드 문자열의 문자와 + 문자 사이에 삽입 할 수 있습니다. 예를 들어 rt+는 r+t와 http://wohlsoft.ru/docs/Software/imgui-mingw-example-449c47c.7z Windows의 네이티브 인코딩이 UTF-16이므로 파일 이름을 utf-8에서 utf-16으로 변환하는 것보다 더 좋은 것을 생각할 수 없습니다(사용) multibyteToWideChar()) 다음 _wfopen()를 사용합니다. 그것은 추한 @dougbinks, @ocornut, 난 그냥 MinGW에 의해 SDL2 OpenGL2 예제를 구축하고, 버그가 여전히 제시 될 수 있지만, 내가 이것을 구축하기 전에 내가 여러 번 발견 (그것은 비 ASCII 폴더에서 글꼴을 열려고합니다). 그러나 ImOpenFile 함수에서 _MSC_VER를 _WIN32로 대체하면 모든 것이 잘 작동합니다 (ImguiExample-failed.exe (있는 그대로 빌드됨)를 시도한 다음 ImguiExample-fixed.exe (내 수정 사항으로 빌드됨)) 2.

프로젝트의 설정은 완전히 잘못되었습니다. 예를 들어 디버그/릴리스 또는 VC++ 런타임의 다른 버전을 혼합합니다. 1. 파일은 독점 모드에서 열립니다 (예를 들어 “forwrite”) – sou 당신은 내가 _wfopen() 경로 + _MSC_VER와 테스트에 대한 imgui 에 내부 UTF-8>wchar 함수를 사용할 것입니다 읽기를 열 수 없습니다. 윈도우 펜에 ANSI 전용을 읽습니다. UTF-8 경로를 지원하려면 MultiByteToWideChar를 통해 문자열을 넓은 문자 (UTF-16) 문자열로 변환해야하며 _wfopen을 사용합니다 (다음 동일한 fread / fwrite, fprintf, fscanf 등을 사용합니다.