Загрузить файл в NSData с помощью C - PullRequest
2 голосов
/ 12 марта 2012

Проблема заключается в загрузке файла изображения в UIImage. Исходный файл хранится в файловой системе и управляется C-библиотекой (вопрос об этом).

С помощью объектива-C я могу сделать так:

NSData *file = [NSData dataWithContentsOfFile:...];
[UIImage imageWithData:file];

Но как можно загрузить данные файла в target-C с помощью C?

С помощью C я могу открыть файл, например:

ret = fopen( name, options);

Но можно ли использовать ret ptr для инициализации NSData:

[NSData dataWithBytesNoCopy:ret length:length_of_ret];?

Большое спасибо за любую помощь!

1 Ответ

3 голосов
/ 12 марта 2012

Чтение байтов из файла с использованием fread.

FILE * ret = fopen( name, options);
void *data = malloc(bytes);
fread(data, 1, bytes, ret); 
fclose(ret);
 NSData *data = [NSData dataWithBytesNoCopy:data length:bytes];
...