2009-12-06 21 views

回答

3

不是直接的,因爲printf需要特定的格式說明符。您需要一次打印每個元素。

您可以製作一個模板函數,它迭代元組的元素,將其打印出來。 This question地址。也就是說,除非每個元素都可以用printf打印出來,否則這將不起作用。

相反,爲什麼不使用iostream代替?那麼你可以說std::cout << theTuple

1

不,因爲「printf」是一個C函數,不知道如何處理C++對象。也就是說,如果你想要做的只是創建一個格式化的消息,你可能想看看The Boost Format Library

+0

std :: string hovewer has c_str() – dimba 2009-12-07 05:03:52

+0

@idimba,...和? c_str()的結果是const char *。您不能將std :: string類型的對象直接傳遞給printf。 – 2009-12-07 08:58:49