Advertisement
avr39ripe

cppBinFileBasics

Nov 8th, 2021
804
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.25 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. #include <chrono>
  4.  
  5. //ofstream - output stream
  6. //ifstream - input stream
  7. //fstream - input/output stream
  8.  
  9. // std::ios::app
  10. // std::ios::trunc
  11. // std::ios::out
  12. // std::ios::in
  13. // std::ios::binary
  14.  
  15.  
  16. int main()
  17. {
  18.     srand(time(nullptr));
  19.  
  20.     std::fstream iofile;
  21.  
  22.     iofile.open("d:\\file.dat", std::ios::trunc | std::ios::out | std::ios::in | std::ios::binary);
  23.  
  24.     if ( !iofile)
  25.     {
  26.         std::cout << "IOERROR: can't create/open file!\n";
  27.         return 1;
  28.     }
  29.     int val{};
  30.  
  31.     for (int i{ 0 }; i < 10; ++i)
  32.     {
  33.  
  34.         //val = rand() % 10000;
  35.  
  36.         //for (int i{ 0 }; i < sizeof(int); ++i)
  37.         //{
  38.         //  uint8_t dec{ ((uint8_t*)&val)[i] };
  39.         //  uint8_t hex{ (uint8_t)(dec % 16) };
  40.  
  41.         //  char L{ hex < 10 ? '0' + hex : 'A' + (hex - 10) };
  42.  
  43.         //  dec /= 16;
  44.         //  hex = dec % 16;
  45.  
  46.         //  char H{ hex < 10 ? '0' + hex : 'A' + (hex - 10) };
  47.         // 
  48.         //  std::cout << H << L << ' ';
  49.         //}
  50.         //std::cout << '\n';
  51.  
  52.         iofile.write((char*)&i, sizeof(int));
  53.     }
  54.  
  55.     iofile.seekg(0, std::ios::beg);
  56.  
  57.    
  58.     while (!iofile.eof())
  59.     {
  60.         iofile.read((char*)&val, sizeof(int));
  61.         if (iofile.fail())
  62.         {
  63.             break;
  64.         }
  65.         std::cout << val << '\n';
  66.         iofile.seekg(1 * sizeof(int), std::ios::beg);
  67.     }
  68.  
  69.     iofile.close();
  70.  
  71.     return 0;
  72. }  
  73.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement