2013-09-04 3 views
1

Я хочу добавить новый NSdata = x20 (ASCII), это, наконец, пространство в NSMutableData для достаточного количества зарегистрированных байтов. Пример: NSmuatabledata имеет 400 байт, но мне нужно, чтобы в NSMutableData было 600 байт. Так что я хочу добавить 200 бай (x20 в HEX), наконец, это nsmutableData. Как я могу это сделать? пожалуйста помогите. спасибо заранееКак добавить данные в NSmutableData в Cocoa

// write xmlDoc to file 
NSData* xmlData = [xmlDoc XMLDataWithOptions:NSXMLNodePreserveAll]; 
NSLog(@"xmlData %@",xmlData); 
NSMutableData * datawrite = [xmlData mutableCopy ] ; 
NSArray *array = [[NSArray alloc] init]; // i dont know how to add x20 (hex) to this array 
[datawrite appendData:[[NSString stringWithFormat:@"%@", array] dataUsingEncoding:NSUTF8StringEncoding]]; 
+0

, что у пытался до сих пор? ... Пожалуйста, вставьте код ... –

+0

Это выглядит очень похоже ** ** на ваш предыдущий вопрос http://stackoverflow.com/questions/18525103/how-can-add-more-space-if-nsdata-fixed-size-in-cocoa (для которого вы приняли ответ). –

+0

@MartinR: Мой предыдущий вопрос используется для текстового файла. Теперь моя проблема связана с XML-файлом. Я использовал код в предыдущем вопросе, но это не так. –

ответ

1
NSMutableData *datawrite = ... 
NSUInteger oldLength = [datawrite length]; 
NSUInteger newLength = 600; 
if (newLength > oldLength) { 
    // extend mutable data object: 
    [datawrite setLength:newLength]; 

    // fill appended bytes with space characters: 
    char *bytes = [datawrite mutableBytes]; 
    memset(bytes + oldLength, ' ', newLength - oldLength); 
} 
+0

Спасибо большое, он отлично работает! –

Смежные вопросы