2009-12-06 41 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