Страница: 1 | 2 | 3 |
Вопрос: Копия строки ?
Добавлено: 22.12.08 22:17
Автор вопроса: Lapex
Ответы
Всего ответов: 37
Номер ответа: 31
Автор ответа:
alex
Вопросов: 84
Ответов: 453
Профиль | | #31
Добавлено: 26.12.08 15:28
Максимальный размер Asciiz переменной - 16777216 байт. Len - возвращает логический размер данных в переменной.
Номер ответа: 32
Автор ответа:
Father
Вопросов: 0
Ответов: 159
Профиль | | #32
Добавлено: 26.12.08 15:35
Я очень рад за PowerBasic
Номер ответа: 33
Автор ответа:
alex
Вопросов: 84
Ответов: 453
Профиль | | #33
Добавлено: 26.12.08 15:44
Father - вообще не понимаю, зачем тут использовать fixed-length strings?
Если нужен большой объем данных, юзай String (4 гига) или что намного разумнее, создать буфер в памяти.
Номер ответа: 34
Автор ответа:
Father
Вопросов: 0
Ответов: 159
Профиль | | #34
Добавлено: 26.12.08 16:28
Мы забыли спросить, зачем такие большие строки.
Создать буфер в памяти - да. Ну вот он уже создан HeapAlloc(
И Lapex пытался с ним работать строковыми функциями PB, а я, если честно, проглядел что мы скамливаем в Len разыменнованый указатель
Номер ответа: 35
Автор ответа:
Lapex
Вопросов: 6
Ответов: 56
Профиль | | #35
Добавлено: 26.12.08 17:33
Смотрел на работу других плагинов, написанных на Си (исходников нет) - то они переваривают строки и выше 32Mb. А ведь они тоже на вход получают указатель на ASCIIZ строку.
Я всегда считал, что ASCIIZ - это безразмерная строка, которая может быть ограничена только нулевым символом и размером памяти, а оказалось, что в PB это не так.
Номер ответа: 36
Автор ответа:
Father
Вопросов: 0
Ответов: 159
Профиль | | #36
Добавлено: 26.12.08 17:59
Ну если у нас есть указатель на начало строки и нормальные функции lstrlen,lstrcmp,lstrcat и пр. то какое нам дело до того что думает PB об ASCIIZ. Уверен, у тебя все получится!
Номер ответа: 37
Автор ответа:
Lapex
Вопросов: 6
Ответов: 56
Профиль | | #37
Добавлено: 26.12.08 19:59
Большое спасибо Father и alex за полезную инфу и потраченное на меня время.