printf boost: tuple - PullRequest
       11

printf boost: tuple

0 голосов
/ 06 декабря 2009

Есть ли способ передать boost :: tuple в printf ()?

Ответы [ 2 ]

3 голосов
/ 06 декабря 2009

Не напрямую, потому что printf требует определенных спецификаторов формата. Вам нужно будет распечатать каждый элемент за раз.

Вы можете создать шаблонную функцию, которая перебирает элементы кортежа, распечатывая их. Этот вопрос обращайтесь к этому. Тем не менее, это снова не будет работать, если каждый элемент не может быть распечатан с printf.

Скорее, почему бы не использовать iostream вместо этого? Тогда вы можете просто сказать std::cout << theTuple.

1 голос
/ 06 декабря 2009

Нет, потому что "printf" является функцией C и не знает, как обрабатывать объекты C ++. Тем не менее, если все, что вы хотите сделать, это создать отформатированное сообщение, вы можете проверить Библиотека форматирования Boost .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...