C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[73037] Re:파일명에 한글이 들어간 파일오픈이 안됩니다
송신영 [palindrome] 4185 읽음    2015-09-23 11:50
String fn; 으로 선언할 경우 fn은 UnicodeString Type이 됩니다. (6.0 시절에는 AnsiString 이었지만...)
AnsiString으로 명시적으로 선언해 보세요.
UnicodeString에서 c_str()을 사용하면 char *를 리턴하는 것이 아니라 WideChar *를 리턴합니다.
ifstream 이 char를 사용하니 WideChar 를 처리를 잘 못해서 생긴 문제 같습니다.

왕초보 님이 쓰신 글 :
: String fn;
: if (FileOpenDialog1->Execute()) {
:     fn = FileOpenDialog1->FileName;
: }
: else return;
: std::ifstream fs(fn.c_str() );
: if (fs.fail()) {
:     ShowMessage("file error:" + fn);
:     return;
: }
:
: 위 코드에서 파일열기 실패가 계속 뜨는데 왜 그럴까요?
: 참고로 파일이름에 한글이 없으면 정상적으로 동작합니다
: 한글이 파일이름에 있으면 실패...

+ -

관련 글 리스트
73033 파일명에 한글이 들어간 파일오픈이 안됩니다 왕초보 3807 2015/09/22
73037     Re:파일명에 한글이 들어간 파일오픈이 안됩니다 송신영 4185 2015/09/23
73038         Re:Re:파일명에 한글이 들어간 파일오픈이 안됩니다 bugfree 4290 2015/09/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.