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

  • Автор темы R_2
  • Дата начала
Статус
Закрыто для дальнейших ответов.
R
#1
При соединении приходит строка 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

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

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

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


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