C++ printfboost:tuple

C++ printfboost:tuple,c++,boost,C++,Boost,有没有办法将boost::tuple传递给printf() 不直接,因为printf需要某些格式说明符。您需要一次打印出每个元素 您可以创建一个模板函数,该函数迭代元组的元素,并将它们打印出来。解决这个问题。也就是说,除非每个元素都可以用printf打印出来,否则这同样不起作用 相反,为什么不使用iostream?然后您可以直接说std::cout,因为printf需要特定的格式说明符。您需要一次打印出每个元素 您可以创建一个模板函数,该函数迭代元组的元素,并将它们打印出来。解决这个问题。也就是

有没有办法将boost::tuple传递给printf()

不直接,因为
printf
需要某些格式说明符。您需要一次打印出每个元素

您可以创建一个模板函数,该函数迭代元组的元素,并将它们打印出来。解决这个问题。也就是说,除非每个元素都可以用
printf
打印出来,否则这同样不起作用


相反,为什么不使用
iostream
?然后您可以直接说
std::cout,因为
printf
需要特定的格式说明符。您需要一次打印出每个元素

您可以创建一个模板函数,该函数迭代元组的元素,并将它们打印出来。解决这个问题。也就是说,除非每个元素都可以用
printf
打印出来,否则这同样不起作用


相反,为什么不使用
iostream
?然后你可以说 STD::CUT

不,因为“PrtTf”是C函数,不知道如何处理C++对象。也就是说,如果您想做的是创建一个格式化的消息,您可能需要签出。

< P>不,因为“PrtTf”是C函数,不知道如何处理C++对象。也就是说,如果您只想创建一条格式化的消息,您可能需要签出。

std::string hovewer有c_str()@idimba,。。。然后呢?c_str()的结果是const char*。无法将std::string类型的对象直接传递给printf。std::string hovewer具有c_str()@idimba,。。。然后呢?c_str()的结果是const char*。不能将std::string类型的对象直接传递给printf。