From 0218c678e13e1cb94a352c91733cea68467dc566 Mon Sep 17 00:00:00 2001 From: Angeld55 Date: Sun, 14 Feb 2021 23:06:35 +0200 Subject: start from scratch --- Binary_files/GetStructsFromBinaryFile.cpp | 47 ------------------------------- 1 file changed, 47 deletions(-) delete mode 100644 Binary_files/GetStructsFromBinaryFile.cpp (limited to 'Binary_files/GetStructsFromBinaryFile.cpp') diff --git a/Binary_files/GetStructsFromBinaryFile.cpp b/Binary_files/GetStructsFromBinaryFile.cpp deleted file mode 100644 index 011629a..0000000 --- a/Binary_files/GetStructsFromBinaryFile.cpp +++ /dev/null @@ -1,47 +0,0 @@ -#include -#include -using namespace std; - -struct test -{ - char ch; - int num; -}; - -int GetFileSize(ifstream& ifs) -{ - ifs.seekg(0, std::ios::end); //отиваме в края на файла - int size = ifs.tellg(); //запазваме коя е текущата позиция(тя всъщност е и размерът на файла) - ifs.seekg(0, std::ios::beg); //връщаме се в началото на файла - return size; -//тази функция е хубаво да я извикваме преди да сме чели каквото и да е от файла, понеже ще се върнем в началото и ще загубим информация до къде сме стигнали с четенето -} - - -int main() -{ - std::ifstream inF("Structs.bat", std::ios::binary); - - if (!inF.is_open()) - return false; - - int fileSize = GetFileSize(inF); // взимаме големината на файла - int objectCount = fileSize / sizeof(test); // намираме броя на обектите записани във файла - - test* arr = new test[objectCount]; - - inF.read((char*)arr, fileSize); //директно ги четем в масива - - if (!inF) - { - cout << "Error occurred while reading from the file"; - return 1; - } - inF.close(); - - for (int i = 0; i < objectCount; i++) - cout << arr[i].ch << " " << arr[i].num << endl; - delete[] arr; - - return 0; -} \ No newline at end of file -- cgit v1.3.1-23-gd82d