Чтение байтов из файла bin и сохранение в строку с дескриптором - PullRequest
0 голосов
/ 04 августа 2011

Я пытаюсь получить строку, содержащую значение 4 байтов в позиции 424, как они отображаются в моем шестнадцатеричном редакторе: мой шестнадцатеричный редактор отображает 14583212, и мне нужна строка, содержащая "14583212"

Этоэто код, который не возвращает ничего кроме 000000:

- (NSString *) tcExtract: (NSString *) nomefile {

NSFileHandle *myFile= [NSFileHandle fileHandleForReadingAtPath:nomefile];
[myFile seekToFileOffset:424];
NSData *myData= [myFile readDataOfLength:4];
NSString *maxData= [NSString stringWithFormat:@"%04x", [myData description]];

Что я делаю не так?

Спасибо

1 Ответ

1 голос
/ 04 августа 2011

Проблема в вашем звонке на [myData description]. Это дает вам строку, представляющую шестнадцатеричное значение байтов. Вместо этого возьмите сами байты в целое число, затем отформатируйте его как строку:

NSData *myData= [myFile readDataOfLength:4];
int myInt;
[myData getBytes:&myInt length:4];
NSString *maxData= [NSString stringWithFormat:@"%04d", myInt];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...