Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.56 KB | None | 0 0
  1. #include "CFileLastError.h"
  2.  
  3. bool CFileLastError::b_last_error;
  4.  
  5. CFileLastError::CFileLastError()
  6. {
  7.     b_last_error = false;
  8.     pf_file = NULL;
  9. }
  10.  
  11. CFileLastError::CFileLastError(string sFileName)
  12. {
  13.     b_last_error = false;
  14.     vOpenFile(sFileName);
  15. }
  16.  
  17. CFileLastError::~CFileLastError()
  18. {
  19.     vCloseFile();
  20. }
  21.  
  22. void CFileLastError::vOpenFile(string sFileName)
  23. {
  24.     b_last_error = false;
  25.  
  26.     if (pf_file != NULL)
  27.         fclose(pf_file);
  28.        
  29.     pf_file = fopen(sFileName.c_str(), "w+");
  30.  
  31.     b_last_error = pf_file == NULL ? true : false;
  32.  
  33.     if (b_last_error)
  34.         return;
  35.  
  36.     //if file was opened successfully change s_file_name to the new one, otherwise don't change it
  37.     s_file_name = sFileName;
  38. }
  39.  
  40. void CFileLastError::vCloseFile()
  41. {
  42.     b_last_error = false;
  43.     if (pf_file != NULL)
  44.     {
  45.         cout << sDeleteMessage << s_file_name << endl;
  46.         b_last_error = fclose(pf_file) == 0 ? false : true;
  47.     }
  48. }
  49.  
  50. void CFileLastError::vPrintLine(string sText)
  51. {
  52.     b_last_error = false;
  53.  
  54.     if (pf_file == NULL)
  55.     {
  56.         b_last_error = true;
  57.         return;
  58.     }
  59.     b_last_error = fprintf(pf_file, sText.c_str()) < 0 ? true : false;
  60. }
  61.  
  62. void CFileLastError::vPrintManyLines(vector<string> sText)
  63. {
  64.     b_last_error = false;
  65.  
  66.     if (pf_file == NULL)
  67.     {
  68.         b_last_error = true;
  69.         return;
  70.     }
  71.     for (int i = 0; i < sText.size(); i++)
  72.     {
  73.         b_last_error = fprintf(pf_file, sText[i].c_str()) < 0 ? true : false;
  74.  
  75.         if (b_last_error)
  76.             return;
  77.     }
  78.    
  79.  
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement