Моему приложению необходимо преобразовать двойные значения в char* для записи в канал, принимающий только символы. Обычными способами сделать это являются использование функции sprintf()или использование ostringstreamиз заголовочного файла iomanip.h.
Оказывается, оба они имеют очень плохую производительность. И моему приложению нужно делать это преобразование так часто, что оно становится основным узким местом.
Есть ли какая-либо другая функция, которую я мог бы использовать? Какую логику можно использовать для написания эффективной функции преобразования? Единственное, что мне удалось придумать до сих пор, это получить каждую отдельную цифру с помощью операций деления и мода и добавить эти цифры к символу*, чтобы получить все двойное значение.Однако это не кажется хорошим подходом и, вероятно, будет иметь плохую производительность.
Заранее спасибо за ваши мысли.
ПРАВКА: Существует некоторая путаница в отношении того, как будет использоваться char*. Char* будет аргументом для функции fwrite, которая записывает в канал.