C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Очень простой вопрос, AnsiString
Рамиль
  Отправлено: 11.05.2005, 16:29


Не зарегистрирован







Имеется строка ab14_164
переменной i присвоить значение после символа b и до символа _ (в данном случае это 14, но может быть и трех-значное число и однозначное)
переменной j присвоить значение после символа _ и до конца строки (в данном случае это 164, но может быть и двух-значное число и однозначное)
Gedeon
Отправлено: 11.05.2005, 16:52


Ветеран

Группа: Модератор
Сообщений: 1742



CODE

AnsiString S = "ab1004_1648";
   int i, j;
   i = S.SubString(S.AnsiPos("b")+1,S.AnsiPos("_")-S.AnsiPos("b")-1).ToInt();
   j = S.SubString(S.AnsiPos("_")+1,S.Length()-S.AnsiPos("_")).ToInt();
Sl@Sh
Отправлено: 11.05.2005, 16:55


Мастер участка

Группа: Участник
Сообщений: 383



Примерно так :
CODE

AnsiString temp, str = "ab14_164";
int a;

for (int i = 3; i < str.Length(); i++)
{
  if (str[i] != '_')
  {
     temp = temp + AnsiString(i);
  } else
  {
     a       = StrToInt(temp);
     temp = "\0";
  }
}


Этот код годен только для вашей строки и для одного числа (просто по для второго аналогично). Я его не проверял, так что вероятно с глюками.

Удачи !
AVC
Отправлено: 11.05.2005, 16:57


Ветеран

Группа: Модератор
Сообщений: 1583



Рамиль, и в чем проблема?
Или вам сюда?

Отредактировано AVC — 11/05/2005, 16:07

Вернуться в Вопросы программирования в C++Builder