2011-04-26 5 views
0

우리는 somepath/**과 같은 부모를 가지고 있으므로 어느 하나가 우리에게 somepath/myfolder/file을 보내는 경우 true을 받고, someotherpath/을받는다면 false을 얻을 것입니다. 그렇다면 경로가 특정 부모를 충족시키는 지 확인하는 방법은 무엇입니까?경로가 특정 부모를 충족시키는 지 확인하는 방법?

+0

"parten"이란 무엇입니까? "부모"를 의미합니까? – kiw

+0

"parten"은 독일어로 된 단어이고 Google은 스페인어로도 사용되지만 영어가 아니라고 말합니다. 귀하가 의미하는 바를 명확히 할 수 있습니까? 그게 무슨 뜻인지 몰라도, 당신의 질문은 해독하기가 어렵습니다 (기껏해야). –

+0

@ Jerry : 네이티브 독일어로, 나는 그 사실을 알 수 있습니다. "경로를 빠트린"에 대한 빠른 Google은 "부모 경로"를 제안합니다. 이는 "부모"를 의미 할 수 있다고 생각하게 만듭니다. 어떤 의미를 가질 수 있습니다 ... – kiw

답변

1

두 경로를 모두 정규화해야합니다. 그런 다음 simple substring comparison을 사용하여 문제의 경로가 정규화 된 참조 경로로 시작하는지 확인해야합니다.

정규화가 상대 경로로 현재 작업 디렉토리를 추가 포함, 파일 시스템은 대소 문자를 구분하지, 아마 심볼릭 링크를 해결하고 어쩌면 하드 링크를 테스트 인 경우 표준화합니다. 파일 자체가 심볼릭 링크가되도록하려면 정규화하기 전에 경로 부분을 추출해야합니다.

나는 리눅스에서 realpath() 함수를 사용하여이 작업을 수행했으며 참조 경로에 심볼릭 링크가 포함되어 있어도 잘 작동합니다. 그래도 부스트로 어떻게해야할지 모르겠다.

+1

질문에 boost_filesystem 태그가 포함되어 있으므로 정규화를 위해'system_complete()'메서드를 사용하는 것이 좋습니다. – davka

관련 문제