Advertisement
Guest User

Untitled

a guest
Feb 9th, 2016
43
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.65 KB | None | 0 0
  1. void getMaxFile() {
  2. multimap<CFile, Filetype>::iterator p = m_DirectoryMap.begin();
  3. multimap<CFile, Filetype>::iterator t = m_DirectoryMap.begin();
  4. multimap<CFile, Filetype>::iterator x = m_DirectoryMap.begin();
  5. t++;
  6. while (p != m_DirectoryMap.end()) {
  7. if (p->first.getFileSize() > t->first.getFileSize())
  8. x = p;
  9. ++p, ++t;
  10. }
  11. cout << "The largest file is: " << endl << x->first.getFileName()
  12. << 't' << x->first.getFileSize() << 't' << x->second << endl;
  13. }
  14.  
  15. CDirectory (string n) {
  16. fp.open (n, ios::in);
  17. string dirName, fileName, fType;
  18. int fileSize;
  19. fp >> dirName;
  20. m_strDirectory = dirName;
  21. while (fp >> fileName >> fileSize >> fType) {
  22. CFile obj (fileName, fileSize);
  23. if (fType == "Archive")
  24. filetype = Filetype::Archive;
  25. else if (fType == "Hidden")
  26. filetype = Filetype::Hidden;
  27. else if (fType == "ReadOnly")
  28. filetype = Filetype::ReadOnly;
  29. else if (fType == "System")
  30. filetype = Filetype::System;
  31. else
  32. filetype = Filetype::FileNotSupported;
  33. m_DirectoryMap.insert(pair<CFile, Filetype>(CFile(obj.getFileName(), obj.getFileSize()), Filetype(filetype)));
  34. }
  35. multimap<CFile, Filetype>::iterator p = m_DirectoryMap.begin();
  36. while ( p != m_DirectoryMap.end()) {
  37. cout << endl << p->first.getFileName() << 't' << p->first.getFileSize() << 't' << p->second << endl;
  38. ++p;
  39. }
  40. }
  41.  
  42. class CFile {
  43. string m_strFile;
  44. unsigned int m_size;
  45. public:
  46. CFile () { m_strFile = ""; m_size = 0; }
  47. CFile (string name, int size ) { m_strFile = name; m_size = size; }
  48. string getFileName () const { return m_strFile; }
  49. int getFileSize () const { return m_size; }
  50. void setFileSize ( int size ) { m_size = size; }
  51. bool operator< (CFile& obj) {
  52. return ( m_size < obj.m_size );
  53. }
  54. bool operator== (const CFile& obj) {
  55. return ( m_size == obj.m_size );
  56. }
  57. friend ostream& operator<< ( ostream& ost, const CFile& obj ) {
  58. return ost << obj.m_strFile << obj.m_size;
  59. }
  60. friend istream& operator>> ( istream& ist, CFile& obj ) {
  61. return ist >> obj.m_strFile >> obj.m_size;
  62. }
  63. static bool Greater(const CFile& obj1, const CFile& obj2) {
  64. if ( obj1.m_size > obj2.m_size )
  65. return true;
  66. else
  67. return false;
  68. }
  69. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement