• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Глюк ли, Substring класса String

  • Автор темы R_2
  • Дата начала
Статус
Закрыто для дальнейших ответов.
R

R_2

При соединении приходит строка str вида file#filename#filezise#.

Начинаю ее разбирать.
Код:
if (Rtext.SubString(0, Rtext.Pos("#")-1) == "file") ....

По идее конструкция
Код:
Rtext.SubString(0, Rtext.Pos("#")-1)
должна выдать file, а нифига подобного. Вывожу результат просто в Memo или в Edit - ничего нет в строке.

Написал свои функции для получения первого вхождения символа в строку и выделение подстроки начиная с i по j элемент. Все через char*. Но при возвращении строки в конце два "левых" символа, хотя размер промежуточного массива типа char*, помоему, верный. Определяю так:
Код:
char *ret = new char[count - index]; 
// count - по какой, index - с какого

Как справиться с этой проблемой?
 
S

Sensei

new char[count - index];
// count - по какой, index - с какого[/code]

Как справиться с этой проблемой?

Всегда выделяй памяти для "Char" на один байт больше, а именно

Код:
	char *mySubString = new char[count - index + 1]; 
// --- тут типа копирование твое строки в mySubString 
......
// --- Строки всегда должны заканчиваться "Нулем"
mySubString[count - index] = 0;
// --- вконце не забывай делать (конечно если нада) --
delete [] mySubString;



------
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!