在Objective-C中使用"NSLog"打印C++数组

3

我正在尝试使用NSLog输出C++数组(int inverse[3]),但是如果我尝试这样做:

NSLog([NSString stringWithFormat:@"%d", inverse]);

它只是不起作用,但如果我这样尝试:

NSLog([NSString stringWithFormat:@"%d", inverse[0]]);

我可以得到正确的输出。 我的目标是获得整个数组的输出。

有什么想法吗?谢谢

2个回答

3
使用for循环打印所有的值。
for (int i=0; i<3; i++) {
    NSLog(@"%i", inverse[i]);
}

或者:

NSLog(@"%i, %i, %i", inverse[0], inverse[1], inverse[2]);

1

不需要进行字符串格式转换。您可以像这样打印 -

for ( int i=0; i<3; ++i )
    NSLog(@"%i", inverse[i]);

我想打印整个数组,而不仅仅是一个整数。 - markus
我本以为能有更容易的方法输出这个结果,不想在代码中填充“不必要”的循环和条件语句。不管怎样还是谢谢:D - markus
@markus:一个函数无法知道传递给它的数组的大小,因此你想要的语法在C++中是不可能的。你可以编写一个自己的函数,接受数组和大小,但不能只接受数组。 - Daniel

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