DeimoS (30 апреля 2021 - 08:11) писал:
1) Не очень понимаю зачем в такой функции искать символ переноса. Если строка уже отформатирована и в ней расставлены свои переносы, то для чего может понадобиться использовать ещё и данную функцию, с учётом того, что те самые символы переноса обычно расставляются не просто так?
Я хочу в БД хранить текст, там есть разделение по абзацам, но нет адаптации под диалоги(будет не очень красиво если будет слишком широкое окно).
DeimoS (30 апреля 2021 - 08:11) писал:
3) Какой смысл от условия "lenght_line < string_size" в шапке цикла, если ни первая, ни вторая переменные не изменяют своих значений по ходу работы цикла?
Я хотел цикл что будет идти пока мне нужно, ну и нужна была проверка, на то чтобы длина массива была больше, чем длина линии строки, вот и объединил две вещи под одним одеялом.
DeimoS (30 апреля 2021 - 08:11) писал:
4) Какой смысл от поиска нуль-символа в твоей строке, если ты перебираешь ячейки от конца к началу?
Чтобы лишний раз не бегать по массиву. Конечно можно было бы длину строки получить или же отдельным циклом его найти.
DeimoS (30 апреля 2021 - 08:11) писал:
Ну и напоследок хочется спросить: а ты вообще тестировал свой код? Ибо даже беглым вглядом я не особо вижу то, как у тебя должен происходить переход к новым ячейкам в случае, если ты нашёл пробел и заменил его на символ переноса.
Видимо магия происходит, я не знаю даже.
DeimoS (30 апреля 2021 - 08:11) писал:
Текущий твой код либо в бесконечный цикл нырнёт, если значение "lenght_line" будет достаточно маленьким, либо у тебя strins просто вылезет за пределы массива и ты утечку памяти словишь. Ты не учитываешь то, что фактический размер строки может быть гораздо меньше размера массива, который передаётся в функцию. А если всё же размер массива совпадает с длинной строки, то ты не учитываешь, что strins не обращает внимание на третий свой параметр и записывает символ в строку даже если места для этого символа особо-то и нет.
В общем, крайне странный код, который непонятно как должен вообще работать.
Я проверил на всё что смог придумать, и никаких проблем не обнаружил. Поэтому и решил спросить, чтобы узнать что я мог не правильно сделать или кто-то уже сделал до меня лучше(я не смог самостоятельно найти).
DeimoS (30 апреля 2021 - 08:11) писал:
UPD: Вообще за тебя уже всё давно придумали и продумали -
zmessage.inc
Только тут идёт разделение сообщений и отправка их через SendClientMessage, а в твоём случае достаточно просто символ переноса добавлять.
Благодарю.
UPD: да, на счёт strins был прав
Сообщение отредактировал knox: 30 апреля 2021 - 16:01