full-path에서 파일이름 부분만 분리하고 싶습니다.
글쓴이: simpid / 작성시간: 월, 2003/05/19 - 6:04오후
예를들어...
/home/simpid/dev/svr/test.txt
라는 패스가 있을때... test.txt를 분리할 수 있는 방법이 있을까요?
Windows에선 splitpath, makepath가 있어서 유용했는데...
직접 만들어 볼 수 도 있겠지만...
라이브러리에 있다면 이용하면 좋으니까요...
직접 만들어야 할까요?
PS. Linux환경에선.. 런타임 라이브러리를 별로 아는게 없어서.. 어려움이 있습니다.
FindFirstFile, FineNextFile이 없어서..
opendir, readdir등을 이용했는데... 이렇게 하면 와일드카드를 못써서.. fnmatch란것도 힘들게 찾아 이용해야 했습니다.
makepath, splitpath같은것도... 그냥 이용하면 되는데.. Linux에서는 대응하는걸 찾기 힘듬니다. ^^;
Forums:
가장 간단한 방법으로는...
/usr/local/include/favoriteheader.h
가장 간단한 방법으로는 strtok(..., "/");를 사용하셔서 마지막 토근을 얻어오시면 되겠죠.
변형된 방법으론 위의 문자열을 reverse (h.redaeh...)하셔서 strtok(..., "/");를 하셔되 되겠죠. :wink:
c++을 사용하신다면 stl을 이용하시면 될거에요.
너무 평범한 방법이라서.... ㅜ.ㅜ
man 3 basename
man 3 basename
우리 모두 리얼리스트가 되자. 그러나 가슴에 이룰 수 없는 꿈을 가지자
파일이름 분리하는 것은 basename()과 dirname() 함수를 쓰
파일이름 분리하는 것은 basename()과 dirname() 함수를 쓰면 됩니다.
libc안에 있을 겁니다. man 3 basename
--
익스펙토 페트로눔
답변 감사합니다.
여러분들의 답변 감사합니다.
뭔가 있긴 있을줄 알았습니다.
직접 짜면 짜겠지만...
새로운 OS를 접하면서.. 알아가는 재미가 있으니까요.. ^^;
+_+
오 basename()이 있었군요.
저도 리눅스 초보에요. ^^. 덕분에 저도 알고 가네요 ^^
문자열 처리 하면 되죠..
제일 간단한건... 뒤에서부터 문자열 처리 하면 되지요..
'/'문자 나올때까지..
그런다음에 뒷부분만 복사..
----
먼저 알게 된 것을 알려주는 것은 즐거운 일이다!
http://hangulee.springnote.com
http://hangulee.egloos.com
위험하지 않을까요?
ls file.txt 에는 무한 loop ?
----
http://linu.sarang.net, http://wbhacker.tistory.com
거야.. 알아서 해줘야죠...
설마 모르고 딴지 거신건 아닐텐데...
거야.. 문자열 갯수 세서.. 그만큼까지만 해봐야지요..쩝~
----
먼저 알게 된 것을 알려주는 것은 즐거운 일이다!
http://hangulee.springnote.com
http://hangulee.egloos.com
헉 지금까지 만들어서 썼었는데.....
헉 지금까지 함수를 만들어서 사용했었는데 기존 함수가 있었군요 T.T
그럼 혹시 파일명에서 확장자를 분리하는 함수도 있을까요?
abcd.txt 면 abcd 와 txt 로 분리하는 것이 있을것 같은데요.
dirname()/ basename() 이라는 함수가 있었군요...
dirname()/ basename() 이라는 함수가 있었군요...
전 여태까지 ptr = strrchr(path, '/') 를 이용해서
제일 마지막 / 을 찾는 방법을 사용했었는데...
from saibi
댓글 달기