§ Загрузка файла в память
На вход подается строка с указанием, где файл находится, на выходе получается либо указатель на массив байтов, либо NULL, если файл не прочтён. Недостатки - невозможность напрямую узнать размер строки.uint8_t* loadfile(const char* filename) { int rc, n = 0; FILE* fp = fopen(filename, "rb"); if (fp == NULL) return NULL; // Определить размер файла fseek(fp, 0, SEEK_END); int fsize = ftell(fp); fseek(fp, 0, SEEK_SET); // Выделить память uint8_t* memptr = (uint8_t*) malloc(fsize); // Загрузка чанками while ((rc = fread(mm + n, 1, 4096, fp))) n += rc; return memptr; }
6 окт, 2020
© 2007-2023 Все дрова недурственно получены