Нужно выделить память, равную размеру файла в байтах, под массив байтов и затем считать файл в этот массив.
Ответ
Нужно использовать функцию fstat.
#include
int main() {
void *buffer = NULL;
int descriptor = open("filename", O_RDONLY);
if (descriptor != -1) {
FILE *file = fdopen(descriptor, "rb");
if (file) {
struct stat statistics;
if (fstat(descriptor, &statistics) != -1) {
buffer = (char*)malloc(statistics.st_size);
}
fclose(file);
}
close(descriptor);
}
if (!buffer) {
free(buffer);
}
return 0;
}
Комментариев нет:
Отправить комментарий