2013-05-28 5 views
1
나는 파일의 경로로 주어진 것 문자열 구문 분석 ++ C의 간단한 방법을 만들 필요가

(예 : "C : \ 루트 \의 filename.extension")를C++ 구문 분석 파일 경로

간단한 무엇입니까 이 일을하는 방법? 문자열을 나누는 몇 가지 예제를 보았습니다.하지만 여기에는 여러 유형의 구분 기호가 있습니다 (하나 : \ 및.). 그래서 어떻게 작동하는지 잘 모르겠습니다.

+0

을 또한 UIC 경로와 다수의 확장을 고려 : \ \ some-pc \ some-share \ some-folder.dings \ some-file.extension1.extension2. 아마 당신은 \로 갈라서 부분들을 분할해야합니다. 및 제 1 엘리먼트를 분리하여 취급하는 단계를 포함한다. – urzeit

+1

경로 문자열을 올바르게 구문 분석하는 데 많은 어려움이 있습니다. 뭔가를 원한다면 [boost filesystem] (http://www.boost.org/doc/libs/1_53_0/libs/filesystem/doc/index.htm)을 사용해보십시오. 당신이 시험해보고 싶다면 ... –

+1

는'boost :: filesystem :: path' 옵션입니다. – billz

답변

1

실제로 파일 시스템을 처리하는 것이 목적이라면, _splitpath, _makepath 및 관련 함수를 사용하십시오. 사용 사례를 지원하는 래퍼 C++ 클래스를 만드는 것은 어렵지 않습니다.

문자열 조작 인 경우 추론 할 수없는 규칙을 먼저 정의해야합니다. 나는. Win32에서 모두 수용/및 디렉토리 구분 기호로 \, \ 등, 실제 디렉토리 요소하지만 접두사에 상당한 사이의 중복