int main(int argc, char* argv[]) { for (int i = 0; i < argc; ++i) std::cout << "\n " << argv[i]; FileMgr fm; FileMgr::patterns patts{ "*.h", "*.cpp" }; FileMgr::files foundFiles = fm.search(".", patts); for (auto file : foundFiles) displayfiles(file); std::cout << "\n\n"; }
int main(int argc, char* argv[]) { using ConProc = ConsoleProcessing; std::cout << ConProc::Title("***********Project#2 - Code Similarity Analysis***********") << std::endl; ConProc::CommandLine cl = ConProc::parseCommandLine(argc, argv); if (argc < 3) { std::cout << "\n please enter path and patterns\n\n"; return 1; } int count=0,apath=0; std::string path; bool recursivesearch = false, sizencomplx = false; path = std::get<0>(cl); std::cout << " Path provided= " << path <<"\n"; //<-------Identifying path position and options from the commandline arguments----> std::cout << " " << std::string(43, '=') << std::endl; for (int i = 1; i < argc; i++) { char* pch = strchr(argv[i], '.'); if ((int)(pch - argv[i] + 1) == 1) apath = i; else if (strcmp(argv[i], "/s") == 0) { std::cout << " Recursive mode activated" << "\n"; recursivesearch = true; } } std::cout << " " << std::string(43, '=') << std::endl; FileMgr::patterns patts=std::get<1>(cl); DirMgr dm; FileMgr fm; Display dis; Timer timer; DirMgr::directories mydirectories, tempdir; FileMgr::files myFiles = fm.searchf(path, patts); timer.start(); if (recursivesearch == true) { //Method for Recursively searching the current directory path mydirectories = dm.searchd(path); do { tempdir = mydirectories; mydirectories.clear(); for (auto temp : tempdir) mydirectories = dm.searchd(temp); count++; } while (mydirectories.capacity() != tempdir.capacity()); } if (recursivesearch == true) { std::cout << "\n\n List of Directories Detected\n" << " " << std::string(30, '=') << std::endl; dis.displayfiles(mydirectories); //Passing Directory names to the Display package } for (auto direc : mydirectories) //Searching files from the directory list myFiles = fm.searchf(direc, patts); std::cout << "\n\n List of Files Detected\n" << " " << std::string(30, '=') << std::endl; dis.displayfiles(myFiles); //Passing file names to the Display package std::cout <<" "<< std::string(30, '=') << std::endl; parser(myFiles); //Recursively passing files one by one to the Parser timer.stop(); std::cout << "\n\nTime taken for processing in milliseconds = " << timer.elapsedTime<std::chrono::milliseconds>(); std::cout << "\n"; return 0; }
int main(int argc, char *argv []) { try{ std::cout << "\n Testing Executive Package::"; std::cout << "\n" << std::string(75, '*'); std::cout << "\n"; std::cout << "\nParsing Command line arguments: " << std::endl; //----< Parsing the command line >-------------------- //int argc = 7; //char *argv[] = { "C:\\jimFawcett", "*.cpp", "*.h", "*.txt", "/s", "/d", "/f<main>" }; FileMgr fm; fm.parseCmdLine(argc, argv); //----< Searching for files and directories >-------------------- fm.search(); //int argc = 7; Cataloger Ctg(fm); using vecofObjects = std::vector <DisplayObject>; Display disp; std::string condition; vecofObjects obj= fm.DisplayStore(); disp.DisplayAllFilesandPaths(obj); if (fm.func_numberofFilesandDirectories()) { vecofObjects obj1 = Ctg.numberofFilesandDirectories(); disp.numberofFilesandDirectories(obj1); } if (fm.func_hasDuplicates()) { vecofObjects obj = Ctg.FindingDuplicateFiles(); disp.findingDuplicates(obj); } bool textSearch = false; std::string inputforTextSearch; if (fm.func_textSearch()){ textSearch = true; } do { std::cout << "\n\n -----< Demonstration of Requirement 8 >----------------" << std::endl; std::getline(std::cin, inputforTextSearch); bool textSearch = false; inputforTextSearch += " "; condition = inputforTextSearch; if ((condition != " ") && !fm.parseUserCommand(inputforTextSearch)){ std::cout << "\nInvalid Input!:"; std::cout<<"\nPlease enter in this format: \"INPUTTEXT\"patterns" << std::endl; } if (fm.func_textSearch()) { vecofObjects obj = Ctg.searchInputText(fm.getPatterns(), fm.getSearchtext()); disp.displayTextSearchFiles(obj); } } while (inputforTextSearch != " "); } catch (std::exception ex) { std::cout << ex.what()<<"\n\n"; } }