Помогите! Измочалился уже весь! Требуется: функция, которая удаляет из нуль-строки все не ascii символы. Строку передавать по адресу.
Мой вариант(правда не силен я в си):
Гм... Я что-то торможу... А почему нельзя вызывать delete_cyr(a,a), или еще лучше deletecyr(&a)? Промежуточные переменные (я про destination) - не очень удобно...
Ну я вроде и не претендовал на то, что моя функция самая-самая и оптимальнее ничего в этом мире не существует. Я вообще не особо думал, когда писал. На автомате настрочил. Работает и ладно
Хе-хе.. Тогда внесу коррективы в условие: эта функция должна стать частью сервера, и вызываться порядка 10 раз в секунду. Наглухо забивать всю кодовую таблицу нельзя, исключительно в определенных ситуациях.
(agreed @ Пятница, 25 Марта 2005, 14:14) писал(а):Хе-хе.. Тогда внесу коррективы в условие: эта функция должна стать частью сервера, и вызываться порядка 10 раз в секунду.
Гы И чего? Да вызывай наздоровье.
1) от того, что ты уменьшишь кол-во параметров функции, во сто крат быстрее работать она не станет. Она вообще не станет работать быстрее, ни во сколько раз. Потому что скажу тебе честно: тут вызов функции по стоимости сравним с исполнением самой этой функции, посему единственной оптимизацией для неё можеть быть 'inline' . Да и то, я думаю компилятор это и сам сообразит. Всё остальное - мартышкин труд.
Типа, опа! Извини - работает! А можно объяснить - в чем разница? В книге не нашел...
agreed добавил в 25.03.2005 19:05
(oav @ Пятница, 25 Марта 2005, 17:24) писал(а):Я и форт не люблю (вернее, не знаю) и С не люблю. С++ люблю и то не всегда. Но для такой задачи вполне даже люблю:
Спасибо, конечно, но функция нужна именно на си. На си++ я получше разговариваю... А с фортом стоит хотя бы познакомиться. Потрясающий язык. Пожалуй, forth + python + c - это все, что для жизни нужно. :thumbsup: Ну и ессно без с++ щас никуда, хотя не люблю я его...
Еще раз спасибо всем за исходники, считаю тему закрытой!
Типа, опа! Извини - работает! А можно объяснить - в чем разница? В книге не нашел..
Разница в способе выделения памяти под эту строку. В первом случае gcc выделает в сегменте константных данных (а функция пытается их менять - и соотв. падает), а во втором выделяется обычный массив в стеке.
Спасибо, конечно, но функция нужна именно на си. На си++ я получше разговариваю... А с фортом стоит хотя бы познакомиться. Потрясающий язык. Пожалуй, forth + python + c - это все, что для жизни нужно. :thumbsup: Ну и ессно без с++ щас никуда, хотя не люблю я его...
Еще раз спасибо всем за исходники, считаю тему закрытой!
Из стековых языков я лучше MSIL изучу (что по-тихоньку и делаю). Незачто