C ++: лучший текстовый аккумулятор - PullRequest
3 голосов
/ 09 марта 2010

Текст накапливается по частям перед отправкой клиенту.

Теперь мы используем собственный класс, который выделяет память для каждого куска как массив символов. (Во всяком случае, работает как char[][] + std::list<char*>).

Затем мы собираем всю строку, преобразуем ее в std :: sting и затем создаем boost::asio::streambuf, используя ее. Это достаточно медленно, я полагаю. Поправь меня, если я ошибаюсь.

Я знаю, что во многих случаях используется простой тип FILE из stdio.h. Как это работает? Выделяет память при каждой записи в нее. Итак, это быстрее и есть ли способ прочитать в boost::asio::streambuf из FILE?

ДОБАВИТЬ : Хм. Я забыл одну большую вещь :). Компиляция dll и основного приложения выполняется под несколько компиляторов, поэтому в нем не должно быть ничего stl ... Потому что это обычно вызывает много проблем при выполнении dll.

Ответы [ 2 ]

3 голосов
/ 19 марта 2010

Понятия не имею, насколько он эффективен, но я обычно использую острингстрим для такого рода вещей

1 голос
/ 19 марта 2010
...