boost를 이용한 모든 디렉토리에 파일만들기


dir_circulation.h


dir_circulation.h


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
#include <boost/filesystem.hpp>
#include <iostream>
#include <string>
#include <boost/filesystem/fstream.hpp>
 
namespace fs = boost::filesystem;
 
class dir_circulation
{
public :
    std::string root;
    std::string filename = "hacked.txt";
    
    void MakeFile(std::string);
    int circulation(std::string);
};
 
int dir_circulation::circulation(std::string path)
{
    fs::path p(root+path);
    if (fs::is_empty(p))
    {
        if (!fs::exists(p / filename))
            dir_circulation::MakeFile(root + path);
        return 0;
    }
 
    else if (fs::exists(p))
    {
        if (fs::is_directory(p))
        {
            if (!fs::exists(p / filename))
                dir_circulation::MakeFile(root + path);
 
            fs::directory_iterator end_itr;
 
            for (fs::directory_iterator dir_itr(p); dir_itr != end_itr; ++dir_itr)
            {
                if (fs::is_directory(dir_itr->status()))
                    dir_circulation::circulation(path+"//"+ dir_itr->path().filename().string());
            }
        }
    }
    return 0;
}
 
void dir_circulation::MakeFile(std::string path)
{
    fs::ofstream f(path+"//"+filename);
    f << "Hacked by layer";
    f.close();
}


main.cpp

main.cpp


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include <boost/filesystem.hpp>
#include <iostream>
#include <string>
#include "dir_circulation.h"
 
using namespace std;
class dir_circulation circ;
 
int main()
{
    string empty="";
    circ.root = "E://t//";
    circ.circulation(empty);
 
    cout << "ok";
}
 


저작자 표시 비영리 동일 조건 변경 허락
신고

'공부 > c++' 카테고리의 다른 글

api handle?  (0) 2014.05.16
win api (folder, file)  (0) 2014.05.16
boost access in to all directory  (5) 2014.05.15
boost directory접근  (0) 2014.05.15
Base64 encode  (3) 2014.05.14
배열  (0) 2014.03.24

WRITTEN BY
Jen6
jen6의 개발, 보안 블로그 까끔가다 쓸대 있는걸 올리려고 노력중

받은 트랙백이 없고 , 댓글  5개가 달렸습니다.
  1. http://3dmpengines.tistory.com/1053
  2. http://www.boost.org/doc/libs/1_49_0/libs/filesystem/v3/doc/tutorial.html
  3. http://prettygom.com/entry/boost-path-%EC%82%AC%EC%9A%A9%EB%B2%95
  4. http://blog.daum.net/naivewolf/1979419
  5. http://fmttm.egloos.com/viewer/4791867
secret