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


Автор: Cheshuya 23.6.2006, 14:51
Мне нужно переписать символы строки asParam2 в строку asParam1
так чтобы символы строки asParam2 заполняли строку asParam1 с конца

т.е. хочу чтобы строка asParam1 приняла вид: "000000000189";

Написал вот такой алгоритм....

   AnsiString asParam1="0,0,0,0,0,0,0,0,0,0,0,0,";
   AnsiString asParam2="189";
   int icount = asParam2.Length();
   for(int i=icount,j=12;i>0;icount--,j--){
      asParam1[i]+=asParam2[j];              //Вылетает AccessViolation
   }
   asParam2=asParam1;

Что  неправильно?
 

Автор: vivat 23.6.2006, 15:31
Внимательно смотри на индексы! 

Автор: Cheshuya 23.6.2006, 15:48
да вроде все правильно с индексами..........(( 

Автор: _hunter 23.6.2006, 16:07
а ты уверен что в asParam2 есть 12-й символ? я -- нет...
+ почему отладчиеом не пользуемся? 

Автор: dumb 23.6.2006, 16:19
Код

  AnsiString asParam2 = "189";
  AnsiString asParam1;
  asParam1.printf("%012d", StrToInt(asParam2));

 

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