有沒有辦法將boost :: tuple傳遞給printf()?printf boost:tuple
0
A
回答
3
不是直接的,因爲printf
需要特定的格式說明符。您需要一次打印每個元素。
您可以製作一個模板函數,它迭代元組的元素,將其打印出來。 This question地址。也就是說,除非每個元素都可以用printf
打印出來,否則這將不起作用。
相反,爲什麼不使用iostream
代替?那麼你可以說std::cout << theTuple
。
1
不,因爲「printf」是一個C函數,不知道如何處理C++對象。也就是說,如果你想要做的只是創建一個格式化的消息,你可能想看看The Boost Format Library。
相關問題
- 1. 「scanf with printf」vs「fgets with printf」
- 2. 的printf
- 3. 用printf
- 4. 什麼的printf( 「%I」)和printf( 「%d」)
- 5. 修改printf
- 6. 兩行STRLEN printf?
- 7. php:echo「」,print(),printf()
- 8. Printf doesnt pop
- 9. printf()的印刷
- 10. 簡化printf
- 11. printf inside echo
- 12. printf,說,getName setName
- 13. Java和printf
- 14. cout和printf的
- 15. Printf Symbol Resolution
- 16. 爲printf的
- 17. printf函數
- 18. 大數與printf
- 19. printf問題
- 20. Printf E-notation
- 21. Printf的參數
- 22. 的printf redifines UINT32_MAX
- 23. LD_PRELOAD,bash和printf
- 24. bash printf + echo string
- 25. GCC printf優化
- 26. Haskell PrintF格式
- 27. Haskell printf錯誤
- 28. printf的行爲()
- 29. Bash printf混淆
- 30. c printf signed float
std :: string hovewer has c_str() – dimba 2009-12-07 05:03:52
@idimba,...和? c_str()的結果是const char *。您不能將std :: string類型的對象直接傳遞給printf。 – 2009-12-07 08:58:49