昔のコード


プログラミングの勉強を始めたころに書いたコードがでてきたので、さらしてみる。何のために作ったか、ようわからん。
クラス名をzで終わらせてるのが笑える。


Filez.h

#include <windows.h>
#include <string>
#include <vector>
#include <iostream.h>
using namespace std;
class Filez
{
    string rootDir;
public:
    Filez();
    virtual ~Filez();
    bool FDelete(string file);
    bool FCopy(string targetFile,string newFile,bool overWrite);
    bool FMove(string targetFile,string newFile);
    bool FDir(vector<string>& files,vector<string>& folders);
    bool FCreateFolder(string folder);
    bool FDeleteFolder(string folder);
    bool FCD(string arg);
    string GetSystemDir();
    string GetCurrentDir();
    string GetRootDir();
    string GetAppFile();
};

Filez.cpp

#include "Filez.h"

/******************************
    Construction
*******************************/
Filez::Filez()
{
    // Set root folder C:
    rootDir=GetCurrentDir().substr(0,3);

    // Set curent folder as root
    SetCurrentDirectory(rootDir.c_str());
}

Filez::~Filez()
{

}

/**********************************
    GetCurrentDir
        return curent directory
  ********************************/
string Filez::GetCurrentDir(){

    char buf[256];
    GetCurrentDirectory(sizeof(buf),buf);
    return buf;

}

/**********************************
    GetRootDir
        return root name
  ********************************/
string Filez::GetRootDir(){
    return rootDir;
}
/**********************************
    FCD(cd)
        parameter
            directory name
        return 
            true/false
  ********************************/
bool Filez::FCD(string arg){

    if(SetCurrentDirectory(arg.c_str())){
        return true;
    }else{
        return false;
    }
}

/**********************************
    FDir
        parameter
            vector<string>& files
            vector<string>& folders
        return 
            true/false
  ********************************/
bool Filez::FDir(vector<string>& files,vector<string>& folders){

    HANDLE hFind;
    WIN32_FIND_DATA findData;
    string target;

    // check curent is root or not.
    if(rootDir!=(target=GetCurrentDir())){
        target=target+"\\*.*";
    }else{
        target=target+"*.*";
    }

    // get first file or folder
    if((hFind =FindFirstFile(target.c_str(), &findData))==INVALID_HANDLE_VALUE){
        return false;
    }

    // set the file or folder
    if(findData.dwFileAttributes& FILE_ATTRIBUTE_DIRECTORY)
    {
        folders.push_back(findData.cFileName);
    }else{
        files.push_back(findData.cFileName);
    }

    // loop files and folders under the curent folder.

    while(FindNextFile(hFind,&findData)){

        if(findData.dwFileAttributes& FILE_ATTRIBUTE_DIRECTORY)
        {
            folders.push_back(findData.cFileName);
        }else{
            files.push_back(findData.cFileName);
        }

    }
    return true;
}

/**********************************
    GetSystemDir
        return 
            System Directory path
  ********************************/
string Filez::GetSystemDir(){
    char buf[256];
    GetSystemDirectory(buf,sizeof(buf));
    return buf;
}
/**********************************
    FDelete
        parameter
            string file
        return 
            true/false
  ********************************/
bool Filez::FDelete(string file){

    if(DeleteFile(file.c_str())){
        return true;
    }else{
        return false;
    }
}
/**********************************
    FCopy
        parameter
            string targetFile
            string newFile
            bool overWrite
        return 
            true/false
  ********************************/
bool Filez::FCopy(string targetFile,string newFile,bool overWrite){

    if(CopyFile(targetFile.c_str(),newFile.c_str(),!overWrite)){
        return true;
    }else{
        return false;
    }
}

/**********************************
    FMove
        parameter
            string targetFile
            string newFile
        return 
            true/false
  ********************************/
bool Filez::FMove(string targetFile,string newFile){

    if(MoveFile(targetFile.c_str(),newFile.c_str())){
        return true;
    }else{
         return false;
    }
}
/**********************************
    FDeleteFolder
        parameter
            string folder
        return 
            true/false

        Must not have sub folder or file
  ********************************/
bool Filez::FDeleteFolder(string folder){
    if(RemoveDirectory(folder.c_str())){
        return true;
    }else{
        return false;
    }
}

bool Filez::FCreateFolder(string folder){

        SECURITY_ATTRIBUTES sec;
        sec.nLength = sizeof(SECURITY_ATTRIBUTES);
        sec.lpSecurityDescriptor = NULL;
        sec.bInheritHandle = NULL;
        if(CreateDirectory(folder.c_str(), &sec)){
            return true;
        }else{
            return false;
        }

}
string Filez::GetAppFile(){
char szPath[MAX_PATH];
GetModuleFileName( NULL, szPath, MAX_PATH);
return szPath;

}

test.cpp

#include "Filez.h"

int main(){

    Filez f;

    if(f.FCopy(f.GetAppFile().c_str(),"test.exe",true)){
        cout<<"SUCEED"<<endl;
    }
    return 0;
}
~