|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Sergey Khvatov 2:5020/175.2 17 Dec 2007 16:40:47 To : Victor Krapivin Subject : Re: Злостный оффтопик - быстрая конкатенац ия строк -------------------------------------------------------------------------------- Fri Dec 14 2007 15:32, Victor Krapivin wrote to Dmitry Klavdiev: VK> Dmitry Klavdiev wrote: >> Hарод, сорри, больше по быстрому спросить негде, никто в детстве >> низкоуровневым или ядерным программированием не развлекался? Hадо >> преобразовать строку, заменив русские символы на коды вида &2432; >> Проблема в том, что это надо делать быстро, функция sprintf слишком >> тормозная, как все универсальное. VK> char* to_html_form(char* s, char c) VK> { VK> *s++ = '&'; VK> *s++ = (int)c / 100 + '0'; VK> *s++ = ((int)c / 10) % 10 + '0'; VK> *s++ = (int)c % 10 + '0'; VK> *s++ = ';'; VK> return s; VK> } VK> Hа multibyte (или wchar_t) переведешь самостоятельно. Принцип тот же. Теперь собери всё это и сравни с sprintf - удивишься. Да, твой способ быстрее, но разница незначительна. Особенно если результат нужен чтобы в конце концов его куда-нибудь вывести. --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/3300d99b93dc.html, оценка из 5, голосов 10
|