예를 들어 문자열이 "root/data/home/file1.txt"
이고 "root/data/home"
을 얻고 싶습니다. C++에서 편리한 기능이 있나요? 아니면 직접 코딩해야합니까?C++ get 디렉토리 접두어
8
A
답변
15
, 즉
std::string path = "root/data/home/file1.txt";
// no error checking here
std::string prefix = path.substr(0, path.find_last_of('/'));
또는 Boost.Filesystem 같은 세 번째 옵션을은 :
2
POSIX 시스템을 사용하는 경우 dirname(3)을 시도하십시오.
2
확실히 언어 자체에는 편리한 기능이 없습니다. 문자열 라이브러리는 find_last_of을 제공합니다. 당신은 기본 문자열 조작을 할 수
0
이 플랫폼에 의존 오히려입니다. 예를 들어, Windows는 경로 구분자로 주로 '\'
을 사용하고, Unix는 '/'
을 사용하고 MacOS (OSX 이전)는 ':'
을 사용합니다.
Windows 고유 API는 PathRemoveFileSpec
입니다.
관련 문제
- 1. 접두어 표기법
- 2. 이미 사용 된 objective-c 접두어 목록
- 3. 인텔 C 컴파일러 및 L ""접두어
- 4. Java의 접두어 일치/트라이?
- 5. winHTTP GET 요청 C++
- 6. C++ 동시 GET 요청
- 7. C++ get 프로세서 ID
- 8. 리눅스에서의 GCC 설치 접두어
- 9. 접두어 linq2sql 엔티티
- 10. ant 설치 접두어
- 11. Grails의 URL 매핑 접두어
- 12. 레일 제너레이터의 접두어
- 13. mysqldump 테이블 이름 접두어
- 14. 스프링 리디렉션 : 접두어 문제
- 15. Drupal 다중 db 접두어
- 16. gSOAP 네임 스페이스 접두어 문제
- 17. C# Webserver에서 디렉토리 문제를 요청했습니다.
- 18. 디렉토리 액세스를위한 C 라이브러리
- 19. C++ 라이브러리의 디렉토리 구조
- 20. C#에서 디렉토리 삭제
- 21. C++에서 디렉토리 제거
- 22. FTP 다운로드 디렉토리 C++
- 23. 디렉토리 구조 C++
- 24. C "Play with"디렉토리
- 25. C++ 디렉토리 재구성
- 26. get 또는 set을 C# 2
- 27. C# Reflection StackTrace get value
- 28. get 및 set in C#
- 29. C# ASP.NET AJAX에서 $ get 사용
- 30. get; 세트; C#의 구문
+1 다른 플랫폼에서 작동하는 boosting을 언급합니다. –