打印 uint32_t 数组的内容

3

我将和另外一位程序员一起编写代码。他使用C语言编写了一个解码算法,并提供了一个Objective-c类作为包装器,以避免我处理对他的代码的调用。

他的.h文件如下所示:

#import <UIKit/UIKit.h>
#import "decode_audio_data.h"


@interface DecoderWrapper : UIViewController {
    uint32_t   numberOfDecodedData; 
    uint32_t   decodedData[MAX_DECODED_DATA_SIZE]; 
}


- (void) feedData:(int16_t [])data;
- (uint32_t) numberOfDecodedData;
- (uint32_t *) decodedData;


@end

现在,我可以无问题地调用"feedData"和"numberOfDecodedData"函数,但是我在调用"decodedData"时遇到了一些问题,因为它应该返回一个uint32_t数组。

我该如何NSLog打印该数组的内容?我很困惑,因为我不懂C语言,对指针也不是很自信....

这是我进行调用的地方:

[decoderWrapped feedData:debug];

if ([decoderWrapped numberOfDecodedData] > 0) {
    for (in j=0; j<[decoderWrapped numberOfDecodedData]; j++) {
        // how do I print out every position of [decoderWrapped decodedData] ??

    }   
}

任何帮助都将不胜感激!
3个回答

1
    uint32_t *decodedData = [decoderWrapped decodedData];
    for (int j=0; j<12; j++) {
        NSLog(@"%d",decodedData[j]);
    }

1
尝试
NSLog(@"%u", [decoderWrapped decodedData][j]);

你目前在循环中的内部。


哦,原来如此简单?我真是太丢人了。 - Sr.Richie
根据数据的实际情况,%x 可能更有用(cc @Sr.Richie) - Kevin

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接