2011-10-05 62 views
3

我试图输出,并使用NSLog C++阵列(int inverse[3]),但如果我试着这样说:打印C++数组在Objective-C “的NSLog”

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

它只是不工作,但是,如果我尝试像这样:

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

我得到正确的输出。 我的目标是让整个阵列输出。

任何想法?谢谢

回答

1

有没有必要转换为字符串格式转换。你可以像这样打印 -

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

我想打印整个数组,而不是一个int值。 – markus

+0

查看更新。 – Mahesh

+0

Anh ..这是一个更简单的输出方式。讨厌用'不必要的''fors'和'whiles'来填充我的代码。无论如何感谢:D – markus

3

使用for循环打印所有的值。

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

或:

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

你可以创建一个临时的NSArray和输出:

NSLog(@"Array: %@", [NSArray arrayWithObjects:inverse count:sizeof(inverse)]); 
+1

实际上你不能这样做,因为'NSArray'只能包含对象,而不能包含像'int'这样的原语。 – zaph

+0

哦,对。这就说得通了。谢谢,@CocoaFu! – KylePDavis