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

Тема в разделе "Общие вопросы по С и С++", создана пользователем R_2, 4 май 2006.

Статус темы:
Закрыта.
  1. R_2

    R_2 Гость

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

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

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

    Sensei Гость

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

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


    ------
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей