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
[5645] 이런.. 제가 실수를 했군요.. 다시 질문...
jeroh [] 2646 읽음    2001-02-22 14:29
제가 글을 올리는 과정에서 실수가 있었습니다.
물론, 파일 경로를 다 적어 줬구요, 마지막에 \\까지 정확하게 넣어 줬구요,
그리고 tsr.c_str()이 아니라, tsr.Name.c_str()로 해줬구요..

그래서 tsr.Name.c_str()한 값은 정확하세 제가 원하는 파일 명이 들어 오거든요.
근데도 파일이 열리지 않고 NULL을 return하는군요...

다른 생각해볼 문제는 없는가요?


홍성진 님이 쓰신 글 :
: jeroh 님이 쓰신 글 :
: : directory에 있는 파일들을 차례로 읽어와 처리를 하는 함수를 만들고자 합니다.
: :
: : TSearchRec tsr;
: : ......
: : ......
: :
: : File *fp = fopen(tsr.c_str(),"r"); ------------***
: : .....
: :
: :
: : 이 코드에서, tsr.c_str()에는 파일이름이 정확이 들어 오나,
: : *** 문장에서 file을 open하면 open에 실패하고 fp는 NULL값을 가지게 됩니다.
: :
: : AnsiString을 char*로 바꾸는 함수는 c_str이 맞는 거 같은데,
: : 왜 이런 문제가 생기는지 모르겠군요...
: :
: : 많은 도움 부탁드릴께요.
: : 그럼... 미리... 감사^^
: :
:
: 안녕하세요.
: 위에서 tsr.c_str()이라고 하셨는데, tsr.Name.c_str()이 아닐까요..
: tsr은 AnsiString 타입이 아니라, 구조체입니다.
:
: tsr의 멤버중에, Name있는데 여기에 File이나, Directory이름이 들어갑니다.
: 그리고, Name에는 화일이 있는 경로의 정보가 들어가지 않습니다.
:
: 따라서 정확하게 화일을 오픈하기 위해서는 위의 코드는 이렇게 되어야겠죠.
:
: AnsiString Currpath, Filename;
:
: 현재의 디렉토리 경로를 알아냅니다. 마지막에 경로구분문자(역슬래쉬)를 넣어주세요.
: Currpath = GetCurrentDir() + "\\";
: TSearchRec tsr;
: ......
: ......
:
: 위에서 화일을 찾은후에 Filename에 경로까지 넣어줍니다.
: fopen의 첫번째 인자에 화일명을 쓸때, 실행화일과 다른 위치에 있는 화일일 경우에는
: 경로명 정보도 들어가야합니다. 항상 같이 해주는것이 낫겠죠.
:
: Filename = Currpath+tsr.Name;
: File *fp = fopen(Filename.c_str(),"r");
: ......
:
: 그럼..
:

+ -

관련 글 리스트
5637 AnsiString을 char*로 바꾸는 문제에 관해... jeroh 2662 2001/02/22
5641     Re:AnsiString을 char*로 바꾸는 문제에 관해... 이영수 2598 2001/02/22
5639     Re:AnsiString을 char*로 바꾸는 문제에 관해... 홍성진 2693 2001/02/22
5645         이런.. 제가 실수를 했군요.. 다시 질문... jeroh 2646 2001/02/22
5648             Re:이런.. 제가 실수를 했군요.. 다시 질문... 이영수 2624 2001/02/22
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.