Описание тега boost-format

Библиотека форматирования Boost предоставляет класс для форматирования аргументов в соответствии со строкой формата
0 ответов

Как создать / объединить / объединить boost::format из нескольких boost::format

Это дано: boost::format greeting("%s (Greeting)"); boost::format name("%s (Name)"); 'reetingwithname'должен объединять и повторно использовать'reeting' и 'name' так, чтобы это было эквивалентно этому: boost::format greetingwithname("%s (Greeting) %s…
04 мар '15 в 12:25
1 ответ

Использование спецификатора boost::format %s со строками UTF-8

Мы добавляем поддержку UTF8 в существующее приложение с большой базой кода. Это приложение использует boost::format()и вывод в не-ASCII символах не выравнивается должным образом. В частности, при использовании %{width}.{length}спецификатор, boost::f…
09 май '11 в 19:27
1 ответ

Как использовать boost::format для обнуления числа, в котором количество десятичных разрядов содержится в переменной?

Я хотел бы обнулить число, чтобы оно содержало 5 цифр, и получить его в виде строки. Это можно сделать с помощью следующего: unsigned int theNumber = 10; std::string theZeropaddedString = (boost::format("%05u") % theNumber).str(); Однако я не хочу ж…
20 ноя '14 в 23:30
1 ответ

Что мешает форме Boost.Format использовать перегрузку моего оператора потока для необязательного int?

Я хочу иметь возможность использовать std::optional<int> с Boost.Format. #include <iostream> #include <optional> #include <boost/format.hpp> struct SomeType { int x; }; std::ostream& operator<<(std::ostream& os,…
26 ноя '18 в 08:32
5 ответов

C++11 Эквивалент Boost.Format

Что-нибудь вроде Boost.Format в стандарте C++11? Мне удалось избежать использования Boost с лучшим вариантом C++11 для любых других нужд, которые у меня были. В этом отношении Boost.Format не держит свечу к синтаксису Python format(), Нечто подобное…
01 май '14 в 17:26
0 ответов

Формат Boost дает различный вывод для одинаковых строк

Фон Я использую библиотеку формата Boost для форматирования текста. Мой вклад uint8_t массив. Это код, который я использовал: #include <array> #include <vector> #include <string> #include <sstream> #include <iostream> #…
29 ноя '18 в 12:20
3 ответа

Время жизни переменной C++ - требуется временное решение для временного возврата

У меня есть объект C++ (boost::format) который имеет str() функция, которая возвращает std::string, Поэтому, когда мне нужна отформатированная строка C, мне нужно написать что-то вроде: (boost::format("%1% %2%") % "1" % "2").str().c_str() Я нахожу э…
2 ответа

Почему boost::format не может быть преобразован напрямую в std::string?

Следующее невозможно: std::string s = boost::format("%d") % 1; // error Вы должны явно вызвать метод str(): std::string s = (boost::format("%d") % 1).str(); // OK Это был бы только синтаксический сахар, но почему бы просто не добавить преобразование?
18 окт '12 в 08:56
1 ответ

Использование спецификатора формата%s с boost::format и std::string

Я знаю, что с помощью %s спецификатор формата и std::string как это приводит к неопределенному поведению: std::string myString = "test"; printf("%s", myString); Но можно ли использовать тот же спецификатор и std::string с boost::format ? #include &l…
20 май '12 в 08:37
1 ответ

Можно ли использовать Boost.Format с предварительно выделенным буфером?

Мне было интересно, поддерживает ли Boost.Format использование буфера фиксированной ширины / предварительно выделенного в качестве вывода вместо динамического буфера, управляемого самой библиотекой? То есть обычно вы делаете: boost::format myfmt("ar…
02 ноя '11 в 13:33
2 ответа

Использование boost::format в boost::lambda

По какой-то причине я не могу использовать boost::format в boost::lambda, Вот (надеюсь) скомпилируемое упрощение моего кода: #include <algorithm> #include <iomanip> #include <iostream> #include <boost/assign/list_of.hpp> #inc…
07 дек '10 в 21:53
3 ответа

Форматирование n значащих цифр в C++ без научной записи

Я хочу отформатировать значение с плавающей запятой в n значащих цифр, но никогда не использовать научную запись (даже если она будет короче). Спецификация формата %f не имеет дело со значительными цифрами, и %g иногда дает мне научную запись (что н…
20 июн '13 в 10:19
6 ответов

Реальное позиционное форматирование строки?

(Примечание: я знаю о Boost.Format, я ищу лучший способ сделать следующее.) Первый пример варианта использования: в некоторых странах вы называете человека, называя его / ее фамилию первой и фамилию фамилией, в то время как в других странах это полн…
1 ответ

Как вы используете CAtlStringW с расширенным форматом?

Я попробовал это: #include <iostream> #include <boost\format.hpp> #include <atlstr.h> std::ostream& operator<<(std::ostream& os, const ATL::CAtlStringW& string) { return os << string.GetString(); } int _tmai…
17 апр '12 в 10:23
4 ответа

boost::format и нестандартная печать стандартных контейнеров

У меня есть функция в моем пространстве имен ns это помогает мне печатать контейнеры STL. Например: template <typename T> std::ostream& operator<<(std::ostream& stream, const std::set<T>& set) { stream << "{"; boo…
30 май '12 в 00:14
1 ответ

Кормление Boost:: формат с переменными параметрами

Я пытаюсь написать функцию ведения журнала, которая принимает список аргументов с переменным значением и печатает в безопасном поместье.vprintf кажется очевидным ответом, но я не могу найти безопасный способ обработки, когда строка формата ожидает б…
3 ответа

boost::format с переменными аргументами шаблона

Предположим, у меня есть printf-подобная функция (используется для регистрации) с использованием идеальной пересылки: template<typename... Arguments> void awesome_printf(std::string const& fmt, Arguments&&... args) { boost::format …
16 сен '14 в 02:11
1 ответ

Странное поведение в boost::format hex

Я пытаюсь отформатировать двоичный массив: char* memblock в шестнадцатеричную строку. Когда я использую следующее: fprintf(out, "0x%02x,", memblock[0]); Я получаю следующий вывод: 0x7f, Когда я пытаюсь использовать boost::format на офстриме вот так:…
19 янв '15 в 05:05
1 ответ

C++ boost, формат float - как указать, что я не хочу. и следующие нули

Я хотел бы использовать boost::format преобразовать число с плавающей точкой в ​​строку. Вот несколько примеров ожидаемых результатов: 0.5 -> "0.5" 0 -> "0" 1.00001 -> "1" 3.66 -> "3.7" Я использую в настоящее время boost::format("%1$.1f…
1 ответ

Как накапливать длительности

Я использую переменную boost:: format, чтобы получить истекшее время в секундах boost::posix_time::time_duration total_time = start_1.elapsed(); long milliseconds = total_time.total_milliseconds(); boost::format output("%.6f"); output % (millisecond…
02 апр '12 в 09:15