したらばTOP ■掲示板に戻る■ 全部 1-100 最新50 | メール | |

管理人の独り言(プログラミング関連)

983774さん:2008/12/04(木) 00:46:07 ID:CENbthlg0
取り敢えず、指定フォルダの下にあるディレクトリの一覧を返すの書いた。
-----
#define STRICT 1

#include <iostream>
#include <fstream>
#include <functional>
#include <algorithm>

#include <iterator>
#include <string>
#include <valarray>
#include <vector>
#include <map>

#include <cstdio>
#include <cstdlib>
#include <ctime>
#include <tchar.h>

#include <windows.h>

#ifdef UNICODE
typedef std::wstring tstring;
#else
typedef std::string tstring;
#endif

std::vector<tstring> vec;

void
EnumDirectory(LPCTSTR);

int main(int argc, char **argv){
EnumDirectory(_T(""));

unsigned int size = vec.size(), i;
for(i = 0; i < size; ++i){
#ifdef UNICODE
std::wcout
#else
std::cout
#endif
<< vec[i] << std::endl;
}
}

void
EnumDirectory(LPCTSTR path){
TCHAR buff[MAX_PATH];
lstrcpy(buff, path);
TCHAR *last = buff + lstrlen(buff);
lstrcpy(last, _T("*"));

WIN32_FIND_DATA d;
HANDLE hFile = FindFirstFile(buff, &d);
if(hFile != INVALID_HANDLE_VALUE){
do{
if(d.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY){
if(lstrcmp(d.cFileName, _T(".")) != 0 && lstrcmp(d.cFileName, _T("..")) != 0){
lstrcpy(last, d.cFileName);
vec.push_back(tstring(buff));
lstrcat(last, _T("\\"));
EnumDirectory(buff);
}
}
}while(FindNextFile(hFile, &d));
FindClose(hFile);
}
}


新着レスの表示


名前: E-mail(省略可)

※書き込む際の注意事項はこちら

※画像アップローダーはこちら

(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)

掲示板管理者へ連絡 無料レンタル掲示板