Untitled
13-14unknown
c_cpp
2 years ago
2.1 kB
5
Indexable
#include <windows.h> struct GOODS { //Структура, описывающая изделия на складе int Nmb; //Номер изделия int Price; //Цена изделия }; const int N = 1000;//Пусть на складе тысяча образцов изделий int WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int) { GOODS Stock[N]; //Создадим в памяти массив для всех изделий GOODS Unit1, Unit2;//Структурные переменные для двух изделий DWORD dwCount;//Для функций чтения/записи for (int i = 0; i < N; i++) {//Заполним массив структур Stock[i].Nmb = i + 1;//тестовыми данными Stock[i].Price = (i + 1) * 3; } HANDLE hFile = CreateFile("stock.dat", GENERIC_READ | GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, NULL); /*Запишем весь массив а фалл*/ WriteFile(hFile, Stock, sizeof(Stock), &dwCount, NULL); /*Сместим указатель н прочитаем последнюю запись файла */ SetFilePointer(hFile, sizeof(GOODS) * (N - 1), NULL, FILE_BEGIN); ReadFile(hFile, &Unit1, sizeof(GOODS), &dwCount, NULL); /*Закроем файл, откроем снова и прочитаем первую запись файла */ CloseHandle(hFile); hFile = CreateFile("stock.dat", GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL); ReadFile(hFile, &Unit2, sizeof(GOODS), &dwCount, NULL); /*Вывлдем прочитанное в окно сообщения*/ char szT[200]; wsprintf(szT, "Изделие № %d\n Продано %d элементов\n-------------\n" "Изделие № %d\n Продано %d элементов", Unit1.Nmb, Unit1.Price, Unit2.Nmb, Unit2.Price); MessageBox(NULL, szT, "Info", MB_OK); CloseHandle(hFile);//Закроем для порядка файл return 0; }
Editor is loading...