The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Взлом Linux через подключение USB-устройства стал реальность..."
Отправлено paxuser, 10-Мрт-11 04:31 
> strcat не выделяет память. И я вроде уже писал, что выделять каждый

Ещё бы выделял. Всё руками.

> раз память зело накладно, особенно если заранее известна предельная длина результата.

Накладно, но всегда возможно или допустимо, в отличие от преаллокации по оценке сверху. И давайте без strcat как-то уже. Или проверку на выход за границы буфера в общем случае тоже можно не делать? :) Алсо, с вами скучно троллить.

> выделить буфер на 100 байт _один раз_ и работать с ним?

В этом случае проще. А когда нужно дать отлуп пользователю (источнику входных данных), если результат не вместится в буфер? Предложите начать копировать, а ошибку вернуть в случае заполнения буфера? Нет, вы спросите, что мешает пользователю передать размер строки вместе со строкой (как собственно и происходит чаще всего). То есть, предложите так или иначе пробросить передачу размера по всей цепочке вызовов. Мол, пользователь знает длину строки, поскольку он её откуда-то получил, вот пусть и передаст. И вроде бы проблема решена, но традиционно для Си - нагибая пользователей API. А если API чего-то не предусматривает (плохие проектировщики изначально сделали его простым) - это не проблема языка. Ведь так?

И потом, конкатенация - частный случай. Как думаете, сложно найти задачу по эффективной работе со строками, для которой придётся переизобрести строки с хранимой длиной? С подстроками у си как? Ах, ну да: изобретаем свой структурный тип (не совместимый с нуль-терминацией и стандартными функциями), и всё замечательно. Полный контроль. И не рассказывайте мне, что таких задач нет - есть, решал пару месяцев назад и плевался.

> Это вы сами с собой разговариваете? Красиво у вас там все, должно
> быть, черт побери

Это я рассуждаю вслух. Вам, вот, повод поёрничать дал. А вы продолжайте, не стесняйтесь - ваши догадки о причинах моей нелюбви к Си весьма любопытны.

> Вас сишники в магазине что ли обвешали? Или в детстве отнимали деньги
> на обеды?

Ну конечно же дело во мне. Придумал проблемы, которых нет.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру