Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C++ Builder > что тут неправильно?


Автор: Sash_79 2.12.2007, 13:09
AnsiString t;
t=Memo1->Lines->Text;
for (int i=0;i<t.Length();i++)
 {
  if (t[i]==' ' || t[i]=='\n' || t[i]=='\t')
  {
    for(int j=i;j<t.Length();j++)
    {
     if(t[j]!='\0')
     t[j]=t[j+1];
    }
  }
 }
выскакивает ошибка о индексах. 

Автор: orthrus 2.12.2007, 13:18
цикл должен начинаться с 1, т.е. for (int i=1;i<=t.Length();i++)

Автор: Sash_79 2.12.2007, 14:33
orthrus, вряд ли твой совет поможет, тут что-то другое

Автор: orthrus 2.12.2007, 14:46
Цитата(Sash_79 @  2.12.2007,  14:33 Найти цитируемый пост)
вряд ли твой совет поможет, тут что-то другое


а ты пробовал?

вот это написано в хелпе: 
Цитата

The [] operator assumes a base index of 1.

Автор: Syrex 3.12.2007, 10:07
В типе AnsiString первый элемент имеен номер индекса 1, а не ноль

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)