///////////////////////////////////////////////////////////////////// // wintools.cpp - Win32 API-based helper functions // // ver 4.1 // // Language: Visual C++, Visual Studio 2010, SP1 // // Platform: Toshiba Portege R705, Win 7 Home Premium, SP1 // // Application: Summer Projects, 2011 // // Author: Jim Fawcett, Syracuse University CST 4-187 // // (315) 443-3948, jfawcett@twcny.rr.com // ///////////////////////////////////////////////////////////////////// #ifdef TEST_WINTOOLS //----< test stub >---------------------------------------------------- #include #include #include #include #include "wintools.h" using namespace Win32Tools; int main() { std::cout << "\n Testing WinTools "; std::cout << "\n ==================\n"; systemError se; std::cout << "\n Last error code = " << ::GetLastError(); std::cout << "\n Last error message = " << se.GetLastMsg(); std::cout << std::endl; std::cout << "\n testing directory management "; std::cout << "\n ------------------------------"; directory dir; if(dir.CreateDirectory("foobar")) std::cout << "\n created directory foobar"; else std::cout << "\n failed to create directory foobar"; wdirectory wdir; if(wdir.CreateDirectory(L"foobarwide")) std::cout << "\n created directory foobarwide"; else std::cout << "\n failed to create directory foobarwide"; if(dir.DirectoryExists("foobar")) if(dir.RemoveDirectory("foobar")) std::cout << "\n directory foobar removed"; if(wdir.DirectoryExists(L"foobarwide")) if(wdir.RemoveDirectory(L"foobarwide")) std::cout << "\n directory foobarwide removed"; std::cout << "\n"; if(dir.DirectoryExists("test")) { std::cout << "\n Directory test exists"; if(dir.RemoveDirectory("test")) std::cout << "\n successfully removed directory test"; } else { if(dir.CreateDirectory("test")) std::cout << "\n successfully created directory test"; else std::cout << "\n Directory creation failed"; } std::cout << "\n Current directory is: " << dir.GetCurrentDirectory(); if(dir.SetCurrentDirectory("./test")) { std::cout << "\n changed to: " << dir.GetCurrentDirectory(); dir.SetCurrentDirectory(".."); std::cout << "\n changed back to: " << dir.GetCurrentDirectory(); } std::cout << std::endl; std::vector wfiles = wdirectory::GetFiles(); std::cout << "\n files in this directory are:"; for(size_t i=0; i files = directory::GetFiles("*.h*"); std::cout << "\n *.h* files in this directory are:"; for(size_t i=0; i dirs = wdirectory::GetDirectories(); std::cout << "\n directories in this directory are:"; for(size_t i=0; i file = directory::GetFiles(); // find a fairly large cpp file to read std::string displayFile = ""; fileInfo fi; size_t fileSize = 0; for(size_t i=0; i 0) { fileHandler fh; fh.setReadPath(path); if(fh.openFileReader(displayFile)) { std::cout << "\n opening file " << displayFile << "\n\n"; const size_t size = 1024; size_t bytesRead; byte_ buffer[size]; do { bytesRead = fh.getBlock(buffer,size); std::cout << fh.blockToString(buffer,bytesRead); } while(bytesRead == size); } fh.closeFileReader(); } std::wstring wpath = L"C:\\temp"; std::cout << "\n\n Writing Blocks"; std::cout << "\n ----------------"; std::wstring wdisplayFile = Convert::ToWstring(displayFile); if(file.size() > 0) { wfileHandler fh; fh.setReadPath(wpath); fh.setWritePath(wpath); if(!fh.openFileReader(wdisplayFile)) { std::wcout << L"\n open " << wdisplayFile << L" failed\n\n"; return 1; } else std::wcout << L"\n opening file " << wdisplayFile << L" for reading"; if(fh.openFileWriter(L"test.txt")) { std::wcout << L"\n opening file " << L"test.txt" << L" for writing"; const size_t size = 1024; size_t bytesRead; byte_ buffer[size]; int count = 0; do { std::wcout << L"\n writing block #" << ++count; bytesRead = fh.getBlock(buffer,size); fh.putBlock(buffer,bytesRead); } while(bytesRead == size); } std::wcout << L"\n closing write file"; fh.closeFileWriter(); std::wcout << L"\n closing read file"; fh.closeFileReader(); std::cout << "\n\n"; } } #endif