/directory1/directory2/filename.bin 문자열에서 filename을 파싱하고 싶습니다
글쓴이: kkb / 작성시간: 수, 2011/03/16 - 3:21오후
char filename[256] = "/directory1/directory2/filename.bin"; 혹은 char filename[256] = "filename.bin";
"/directory1/directory2/filename.bin" 문자열에서
(혹은 "filename.bin" 문자열에서)
filename 문자열을 파싱하고 싶습니다
혹시 표준함수로 간단하게 가능할까요?
아니면 함수를 따로 만들어야 하나요?
...
일단은, strtok()를 사용해서 filename.bin을 파싱하고
strcpy(name, filename); name[strlen(filename)-4] = '\0';
이렇게 해결했는데 확장자 길이가 달라지면 문제가 되긴 하겠네요
Forums:
정규표현식을 쓰면 되지 않을까요? 마지막 /와 가장
정규표현식을 쓰면 되지 않을까요? 마지막 /와 가장 끝에 있는 .의 사이에 있는 것들을 찾아오도록요..
피할 수 있을때 즐겨라! http://melotopia.net/b
strrchr 함수를 사용하세요
char *strrchr(const char *s, int c);
함수를 사용해보세요.
s 문자열에서 c 문자를 "뒤에서" 부터 찾아 발견된 주소를 리턴합니다.
파일 이름을 찾으면 확장자 처리는 쉽게 하실 수 있을 거에요.
예제 코드
——
———
Life is a tragedy when seen in close-up, but a comedy in long-shot. - Chaplin, Charlie -
음 ..
file 명은 basename(3) 의 man page 를 보세요.
확장자는 strrchr() 로 . 를 찾아서 자르면 되겠네요.
되면 한다! / feel no sorrow, feel no pain, feel no hurt, there's nothing gained.. only love will then remain.. 『 Mizz 』
답변 감사합니다
답변 감사합니다
이렇게 해결했습니다 맞나요..?^^;
댓글 달기