Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void getMaxFile() {
- multimap<CFile, Filetype>::iterator p = m_DirectoryMap.begin();
- multimap<CFile, Filetype>::iterator t = m_DirectoryMap.begin();
- multimap<CFile, Filetype>::iterator x = m_DirectoryMap.begin();
- t++;
- while (p != m_DirectoryMap.end()) {
- if (p->first.getFileSize() > t->first.getFileSize())
- x = p;
- ++p, ++t;
- }
- cout << "The largest file is: " << endl << x->first.getFileName()
- << 't' << x->first.getFileSize() << 't' << x->second << endl;
- }
- CDirectory (string n) {
- fp.open (n, ios::in);
- string dirName, fileName, fType;
- int fileSize;
- fp >> dirName;
- m_strDirectory = dirName;
- while (fp >> fileName >> fileSize >> fType) {
- CFile obj (fileName, fileSize);
- if (fType == "Archive")
- filetype = Filetype::Archive;
- else if (fType == "Hidden")
- filetype = Filetype::Hidden;
- else if (fType == "ReadOnly")
- filetype = Filetype::ReadOnly;
- else if (fType == "System")
- filetype = Filetype::System;
- else
- filetype = Filetype::FileNotSupported;
- m_DirectoryMap.insert(pair<CFile, Filetype>(CFile(obj.getFileName(), obj.getFileSize()), Filetype(filetype)));
- }
- multimap<CFile, Filetype>::iterator p = m_DirectoryMap.begin();
- while ( p != m_DirectoryMap.end()) {
- cout << endl << p->first.getFileName() << 't' << p->first.getFileSize() << 't' << p->second << endl;
- ++p;
- }
- }
- class CFile {
- string m_strFile;
- unsigned int m_size;
- public:
- CFile () { m_strFile = ""; m_size = 0; }
- CFile (string name, int size ) { m_strFile = name; m_size = size; }
- string getFileName () const { return m_strFile; }
- int getFileSize () const { return m_size; }
- void setFileSize ( int size ) { m_size = size; }
- bool operator< (CFile& obj) {
- return ( m_size < obj.m_size );
- }
- bool operator== (const CFile& obj) {
- return ( m_size == obj.m_size );
- }
- friend ostream& operator<< ( ostream& ost, const CFile& obj ) {
- return ost << obj.m_strFile << obj.m_size;
- }
- friend istream& operator>> ( istream& ist, CFile& obj ) {
- return ist >> obj.m_strFile >> obj.m_size;
- }
- static bool Greater(const CFile& obj1, const CFile& obj2) {
- if ( obj1.m_size > obj2.m_size )
- return true;
- else
- return false;
- }
- };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement