[C/C++] 폴더 전체 경로 중 파일명만 가져오기
반응형
Path 관련해선 MS에서 제공되는 다양한 API가 존재한다.
그 중 파일명을 가져오기위해서 직접 parsing을 해서 사용하다가 API를 찾게되었다.
바로 PathStripPath 라는 API 이다.
Removes the path portion of a fully qualified path and file.
즉 전체 경로 중 실제 경로 부분만 제거한다는 의미이다.
MSDN의 예제를 보면
TCHAR szPath1[] = TEXT("c:\\dir1\\file.txt"); PathStripPath(szPath1); // Result: szPath1 == file.txt TCHAR szPath2[] = TEXT("c:\\windows\\system32\\directx\\dinput\\joystick.ini"); PathStripPath(szPath2); // Result: szPath2 == joystick.ini TCHAR szPath3[] = TEXT("c:\\dir1\\dir2"); PathStripPath(szPath3); // Result: szPath3 == dir2 TCHAR szPath4[] = TEXT("c:\\dir1\\dir2\\"); PathStripPath(szPath4); // Result: szPath4 == dir2\ TCHAR szPath5[] = TEXT("c:\\"); PathStripPath(szPath5); // Result: szPath5 == c:\ (no change) TCHAR szPath6[] = TEXT("c:"); PathStripPath(szPath6); // Result: szPath6 == c: (no change) TCHAR szPath7[] = TEXT("Not a Path"); PathStripPath(szPath7); // Result: szPath7 == Not a Path (no change)
이렇게 사용이 되며 다양한 방법으로 유용하게 사용할 수 있는 API가 존재한다.
반응형
'⌨ DEVELOPMENT > C++' 카테고리의 다른 글
__cdecl, __stdcall, __fastcall x86 호출 규약(Calling Convention) (4) | 2016.01.01 |
---|---|
[C/C++] FormatMessage 윈도우 GetLastError를 메시지로!! (0) | 2015.12.29 |
[C/C++] IPC - Pipe client simple example (0) | 2015.12.28 |
[C/C++] IPC - Pipe server simple example (1) | 2015.12.21 |
[C/C++] string replace all 문자열 모두 치환 (0) | 2015.12.11 |
관리자 권한으로 생성한 MMF User 권한으로 접근하기 (0) | 2015.04.03 |
System Error Codes (0-499) (0) | 2015.03.30 |
C++에서 C#의 Delegate 사용 (0) | 2015.03.22 |
댓글
이 글 공유하기
다른 글
-
[C/C++] IPC - Pipe server simple example
[C/C++] IPC - Pipe server simple example
2015.12.21PIPE Server 프로세스 간 통신(Inter-Process Communication, IPC) 기법 중 하나인 PIPE 통신 입니다. Pipe는 프로세스간에 바이트 스트림을 전송하기 위한 통로의 개념으로 로컬 통신으로 사용하기가 아주 편리한 기법 입니다. (소켓을 이용할수도 있겠지만 로컬 통신에선 포트까지 열어야하는 부담이 있기때문에 비교적 부담이 적은 Pipe를 사용합니다) Pipe는 Named Pipe와 Anonymous Pipe로 나뉘어지며, IPC에선 주로 Named Pipe가 사용됩니다. * Anonymous pipe는 사용성이 불편하고, 비동기 및 양방향 입출력이 지원되지 않는 구식 방식이기 때문입니다. 서버에서 하는 역할을 보겠습니다. [초기화] 1. CreateNamedPipe 를 이… -
[C/C++] string replace all 문자열 모두 치환
[C/C++] string replace all 문자열 모두 치환
2015.12.11std::string ReplaceAllSTL의 std::string를 이용하여 간단하게 문자열을 치환할 수 있다. 기본적으론 string.replace가 존재하며 해당 기능은 1번만 치환되므로 모든 문자를 치환하려면 추가로 작업을 해주어야 한다. 다음 코드를 보자 #include std::string replace_all( __in const std::string &message, __in const std::string &pattern, __in const std::string &replace ) { std::string result = message; std::string::size_type pos = 0; while ((pos = result.find(pattern)) != std::string:… -
관리자 권한으로 생성한 MMF User 권한으로 접근하기
관리자 권한으로 생성한 MMF User 권한으로 접근하기
2015.04.03서비스스 뿐만 아니라, 시스템이나 관리자 권한으로 생성한 MMF나 혹은 PIPE를 유저 권한으로 읽거나 하려면 반드시라고 해도 좋을 만큼 권한에 관한 문제가 발생합니다. DWORD dwRes; PSID pEveryoneSID = NULL, pAdminSID = NULL; PACL pACL = NULL; PSECURITY_DESCRIPTOR pSD = NULL; EXPLICIT_ACCESS ea; SID_IDENTIFIER_AUTHORITY SIDAuthWorld = SECURITY_WORLD_SID_AUTHORITY; SID_IDENTIFIER_AUTHORITY SIDAuthNT = SECURITY_NT_AUTHORITY; SECURITY_ATTRIBUTES sa; // Create a well-know… -
System Error Codes (0-499)
System Error Codes (0-499)
2015.03.30
댓글을 사용할 수 없습니다.