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

C/C++ Q/A
[2054] Re:파일을 읽어올 때.....
임문환 [mhlim] 1763 읽음    2003-03-07 22:59
fopen 함수의 첫번째 매개변수에는 파일의 경로와 이름을 지정합니다.
이 때 경로가 절대경로라면 혼동할 게 없겠지만 유동성에 문제가 있습니다.
한편 상대경로인 경우 알아두어야 할 게 있습니다.
상대경로를 해석할 때는 해당 시스템 상에서 현재 작업 경로(getcwd 함수로 알 수 있음)를 베이스 경로로 사용합니다.

그리고, 님이 만든 프로그램을 실행한다고 해서 그 프로그램이 존재하는 디렉터리가 현재작업경로가 되는 것은 아닙니다.

따라서, fopen 에서 상대경로를 사용하려면 현재작업경로를 해당 프로그램이 존재하는 디렉터리로 만들어줄 필요가 있습니다.
이 작업을 하려면 아래의 두 함수를 사용하면 됩니다.

setdisk, chdir

그리고, DOS 프로그램이라면 main 함수의 두번째 매개변수의 첫번째 원소에 해당 프로그램의 절대경로와 이름이 넘어옵니다.


DOS 상에서 해당 프로그램이 있는 곳까지 이동한(cd xxx) 후 그곳에서 프로그램을 실행한다면 위와 같은 작업이 필요없겠지만 사용자가 꼭 그렇게 실행한다는 법이 없으므로 일반적으로는 이 작업을 해 주어야 합니다.


juni 님이 쓰신 글 :
: 파일 포인터를 이용해서 특정 파일의 내용을 읽어올 때요.....
:
: FILE *fp;
:
: fp=fopen("newlist/ctkpartlist.txt","r");
:
: 위와 같이 했을 때 파일의 값을 읽어오지를 못하더군요...
:
: 그런데.. 파일의 이름을 partlist.txt로 바꾸니까...
:
: 파일의 내용을 제대루 읽어오더군요....
:
: 혹시 파일 이름과 무슨 관계가 있는지요...
:
: 그렇지 않구서야 이렇게 될리가 없는뎅.....쩝....
:
: 답변 좀 부탁드리겠습니다....꾸벅....
:
: 아... 그리구여... 제가 궁금한거는 C언어의 내용입니다.... C++아니구염....^^

+ -

관련 글 리스트
2049 파일을 읽어올 때..... juni 1290 2003/03/05
3883     Re:파일을 읽어올 때..... 남병철.레조 1295 2003/03/06
3882     Re:파일을 읽어올 때..... 남병철.레조 1288 2003/03/06
3881     Re:파일을 읽어올 때..... 남병철.레조 1279 2003/03/06
2054     Re:파일을 읽어올 때..... 임문환 1763 2003/03/07
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.