Advertisement
Guest User

Untitled

a guest
Jun 4th, 2019
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /*
  2.      * Записать переменную int в файл
  3.      * Чтобы запись произошла, файл должен быть открыт.
  4.      */
  5.  
  6.     static bool writeInt(int i, QFile* file)
  7.     {
  8.         int size = sizeof(int);
  9.  
  10.         char cache[size];
  11.  
  12.         memcpy(&cache, &i, size);
  13.  
  14.         return file->write(cache, size) == size;
  15.     }
  16.  
  17.     /*
  18.      * Записать текст в файл.
  19.      * Чтобы запись произошла, файл должен быть открыт.
  20.      */
  21.  
  22.     static bool writeString(QString s, QFile* file)
  23.     {
  24.         QByteArray arr = s.toUtf8();
  25.  
  26.         writeInt(arr.length(), file);
  27.  
  28.         return file->write(arr) == arr.length();
  29.     }
  30.  
  31.     /*
  32.      * Прочитать переменную int с файла
  33.      * Чтобы чтение произошло, файл должен быть открыт
  34.      */
  35.  
  36.     static int readInt(QFile* file)
  37.     {
  38.  
  39.         int size = sizeof(int);
  40.  
  41.         char bytes[size];
  42.  
  43.         file->read(bytes, size);
  44.  
  45.         int ret;
  46.  
  47.         memcpy(&ret, &bytes, size);
  48.  
  49.         return ret;
  50.     }
  51.  
  52.     /*
  53.      * Прочитать текст с файла
  54.      * Чтобы чтение было успешным, файл должен быть открыт
  55.      */
  56.  
  57.     static QString readString(QFile* file)
  58.     {
  59.         int size = readInt(file);
  60.         return QString(file->read(size));
  61.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement