Monday, April 13, 2009

[C++] STL string을 이용한 Path 분리 방법

1. 개요
STL string을 이용하여 File Path의 경로를 분리한다.

2. 본문
샘플 코드는 다음과 같다.

// File Path와 File Name 분리
char szFullPath[MAX_PATH] = "c:\\test\\test.txt";
string strFullPath(szFullPath);
string strFilePath, strFileName;
int nFind = strFullPath.rfind("\\") + 1;
strFilePath = strFullPath.substr(0, nFind);
strFileName = strFullPath.substr(nFind, strFullPath.length() - nFind);


// 파일 확장자 바꾸기
char szFullPath[MAX_PATH] = "c:\\test\\test.txt";
string strFilePath(szFullPath);
string strModExt("xml");
string strReName;
int nExt = strFilePath.rfind("txt");
int nName = strFilePath.rfind("\\") + 1;

strReName = strFilePath.substr(0, nName);
strReName += strFilePath.substr(nName, nExt - nName);
strReName += strModExt;

No comments: