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

개요

string 형식의 파일 경로를 이용하여 File Path와 Name을 분리합니다.

1) File Path와 File Name 분리

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
namespace using std;

int main()
{
string pullPath = "c:\\test\\test.tif";
int find = pullPath.rfind("\\") + 1;

string filePath = pullPath.substr(0, find);
string fileName = pullPath.substr(find, pullPath.length() - find);

cout << "Folder Path : " << filePath << endl;
cout << "File Name : " << fileName << endl;
}

결과

1
2
Folder Path : c:\\test
File Name : test.tif

2) 파일 확장자 바꾸기

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
namespace using std;

int main()
{
string filePath = "c:\\test\\test.tif";
string modExt = "ntf";

int ext = filePath.rfind("tif");
int name = filePath.rfind("\\") + 1;

string dstPath = filePath.substr(0, name);
dstPath += filePath.substr(name, ext - name);
dstPath += modExt;

cout << "Input Path : " << filePath << endl;
cout << "Output Path : " << dstPath << endl;
}

결과

1
2
Input Path : c:\\test\\test.tif
Output Path : c:\\test\\test.ntf
Share