예전에 파일명으로 인자를 넘겨주면 확장자... "."다음의 위치라고해야하나요.. 암튼 확장자의 포인터위치나 아무튼..관련 정보를 리턴해주는 편한(?) 함수를 썼었던 기억이나는거같은데...
지금 확장자 필터가 필요해서 쓸려하니깐.. 기억이 안나네요.. 그냥 strcmp로 할수도 있겠지만.. 워낙 게을러서..ㅡㅡ;;
간단히 문자열 거꾸로 뒤집는 함수 하나 만들고, '.'찾아서, 그만큼 떼어내고 다시 뒤집으면 확장자겠죠. (물론, 오른쪽에서부터 검색할 수 있는 함수가 있으면 뒤집을 필요는 없겠 죠)
.tar.gz같은건 제대로 동작 안하겠네요. 일정한 확장자 목록이 있으면 목록에 매치되는걸로 검색하면 될듯.
어떤 소스코드에서 char * strrchr ( const char *, int ) 함수를 사용해서 . 다음의 포인터를 얻어온거 같던데요..
man index
#include char *index(const char *s, int c); 문자열 s에서 최초에 문자 c가 나타난 위치의 포인터를 반환 char *riindex(const char *s, int c); 문자열 s에서 최후에 문자 c가 나타난 위치의 포인터를 반환
Re: 파일 확장자 얻어내기
간단히 문자열 거꾸로 뒤집는 함수 하나 만들고,
'.'찾아서, 그만큼 떼어내고 다시 뒤집으면 확장자겠죠.
(물론, 오른쪽에서부터 검색할 수 있는 함수가 있으면 뒤집을 필요는 없겠
죠)
.tar.gz같은건 제대로 동작 안하겠네요.
일정한 확장자 목록이 있으면 목록에 매치되는걸로 검색하면 될듯.
Re: 파일 확장자 얻어내기
어떤 소스코드에서 char * strrchr ( const char *, int )
함수를 사용해서 . 다음의 포인터를 얻어온거 같던데요..
Re^2: 파일 확장자 얻어내기
man index
#include
char *index(const char *s, int c);
문자열 s에서 최초에 문자 c가 나타난 위치의 포인터를 반환
char *riindex(const char *s, int c);
문자열 s에서 최후에 문자 c가 나타난 위치의 포인터를 반환