C 언어로 path에 있는 파일명만 추출하기?
글쓴이: 뿌직 / 작성시간: 화, 2006/06/27 - 4:17오후
C 언어로 프로그래밍을 하고 있는데,
아주 간단해 보이는 문제에서 못 벗어나고 있네요...^^;;;;
char *path = "/tmp/aaa/bbb/ccc/asdfasdf.dat";
라는 포인터가 있다고 가정할 때,
C언어로 파일명만 추출할 수 있는 함수가 없을까요?
그러니까, 위 예제에서 asdfasdf.dat 라는 스트링만 추출하는 방법이요.
몇몇 가지 생각해 봤는데,
strtok()함수 쓰는 것은 좀 비효율적인 것 같고.
fp = fopen( path, 'r');
를 사용해서 fp가지고 어떻게 하면 될 거 같기도 한데...
잘 모르겠네요...
아무리 검색을 해봐도 FILE*의 struct에 대한 내용도 안나오고...
제 linux머신에서 stdio.h파일을 뒤져바도 안나오고...
이럴 때는 어떻게 해야 잘 짰다고 칭찬받을 수 있을까요? ^^;;
Forums:
man 3 basename <어떠한
man 3 basename
<어떠한 역경에도 굴하지 않는 '하양 지훈'>
#include <com.h> <beer.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);
#include <com.h> <C2H5OH.h> <woman.h>
do { if (com) hacking(); if (money) drinking(); if (women) loving(); } while (1);
strrchr(path, '/')을 쓰는
strrchr(path, '/')을 쓰는 것도 괜찮지요.
문자열의 뒤에서부터 검색하여 해당 문자가 시작하는 포인터를 되돌려 줍니다.
위 함수는 역버전이고 정버전(?)은 strchr입니다.
노루가 사냥꾼의 손에서 벗어나는 것 같이, 새가 그물치는 자의 손에서 벗어나는 것 같이 스스로 구원하라 -잠언 6:5
ㅎㅎㅎ이런 함수들
ㅎㅎㅎ
이런 함수들이 있었군요^^;;;;
엄청빠른 댓글 감사합니다!
-----------------
`0-
-0`
--------------------------
`0-
-0`
basename() 함수가 있습니다..
그런 기능을 하는 함수로 basename()가 있네요..
반대로 경로만 구할때는 dirname()이 있고요..
2006년도 질문글인데다가 이미 해결책 답변도 잘
2006년도 질문글인데다가 이미 해결책 답변도 잘 달려있는데
왜 이런 답글을 다는 것인지???
이게 더 좋은 해법같은데요?
이게 더 좋은 해법같은데요?
피할 수 있을때 즐겨라! http://melotopia.net/b
ㅡ.ㅡ
basename함수의 man페이지를 보라는 답글이 이미 달려있는데 말입니다.
아. 그렇군요. 못봤어요.
아. 그렇군요. 못봤어요.
피할 수 있을때 즐겨라! http://melotopia.net/b
머야 이거? 낚시야?
쓰라는 소스는 안쓰고 지 방명록에 링크질이야!!ㅋㅋㅋ
;;
검색해서 들어왔는데
usage를 볼 수 있어 좋은데요;
ㅡㅡ
왤케 부정적임 ㅋ 더 좋기만 하구만
댓글 달기