rai002 @ ウィキ
フォルダの検索(main扱い)
最終更新:
rai002
-
view
コメントアウトしてあるものは面倒なので表示させ内容にしてるだけ
//**********************************************************************
// フォルダの検索
//**********************************************************************
void get_dir::SearchDir()
{
char sDir[MAX_NAME_NUMBER]={0};
int directory_rank;
string str;
int driv_num, i, j, k;
char sDriv[MAX_NAME_NUMBER];
char sTemp[32][4];
driv_num = GetLogicalDriveStringsA(MAX_NAME_NUMBER, sDriv);
for(i = 0, j=0, k=0; i<driv_num; i++ ){
if( sDriv[i] == NULL ){
sTemp[j][k] = '\0';
j++; k=0;
}else{
sTemp[j][k] = sDriv[i];
k++;
}
}
for( i = 0; i<j; i++){
string str;
str = "\\\\?\\";
str += sTemp[i];
//ドライブ情報の加工
if( OpenDrive( str ) == true){
drive_info.push_back( str );
}
}
for(int i=0; i<(int)drive_info.size(); i++){
cout << drive_info.at(i) << endl;
}
//時間計測
time_t timer, timer_2;
time(&timer);
cout << "フォルダ検索中\n";
directory_rank=1; //検索階層
for(int i=0; i<(int)drive_info.size(); i++){
cout << drive_info.at(i) << "ドライブを検索中...";
filelist( drive_info.at(i).c_str() , "*", directory_rank);
cout << "終了" << endl;
}
Get_user_folder(); //ユーザー特有のフォルダを取得
data_Processing();
cout << "終了" <<endl;
time(&timer_2);
{
cout << "経過時間:" << (timer_2 - timer) << "秒" << endl;
cout << "フォルダ数(data) 全"<< directory_rank<< "階層:" << (int)data.size() << endl;
cout << "フォルダ数 デスクトップ(一階層):" << (int)desk_dir_data.size() << endl;
cout << "フォルダ数 マイドキュメント(一階層):" << (int)docu_dir_data.size() << endl;
cout << "フォルダ数 クイックランチャー(一階層):" << (int)quick_data.size() << endl;
cout << "ユーザー名:" << user_name << endl;
cout << "OS : " << os_ver << endl;
cout << "アドレス:"<< endl;
cout << My_desk << endl;
cout << My_docu << endl;
}
/* for(int i=0; i<(int)desk_dir_data.size(); i++){
cout<< i << " : " << desk_dir_data.at(i) << endl;
}
*/
Set_All_data();
/* {
for(int i=0; i<(int)all_data.size(); i++)
{
all_data.at(i).disp();
}
}
/* { //変換テスト
string temp;
temp = Get_Short_Cut_link_Info( desk_dir_data.at(10) );
cout << "変換前:" << desk_dir_data.at(0) << "\n変換後:" << temp << endl;
}
{ //時間取得テスト
get_FileToTime( desk_dir_data.at(0) );
}
/* cout << "\n*********** 格納dir(data) *******************\n";
for(int i=0; i<(int)data.size(); i++)
{
data.at(i).disp();
}
/* cout << "\n*********** 格納クイックランチャー *******************\n";
for(int i=0; i<(int)quick_data.size(); i++)
{
cout << quick_data.at(i) << endl;
}
/* cout << "\n*********** 格納デスクトップ *******************\n";
for(int i=0; i<(int)desk_dir_data.size(); i++)
{
cout << desk_dir_data.at(i) << endl;
}
/* cout << "\n*********** 格納マイドキュ *******************\n";
for(int i=0; i<(int)docu_dir_data.size(); i++)
{
cout << docu_dir_data.at(i) << endl;
}
*/
cout << "終了します。何かボタンを押してください。" << endl;
getch();
}