@Nik_Haker

C++: как сделать чтобы перменная string считывалась по 1 знаку?

Ситуация такая. В наличии: Cbuilder(1шт.) Эдит (1шт.) Пользователь (~1шт). Из Эдита текст идет в переменную типа string. Можно ли считывать текст из переменной по 1 знаку (например пользователь ввел выражение x+2=4 программа смотрит- ага вот икс, идет дальше смотрит-здесь плюс, идет дальше здесь 2, переписывает двойку в перменную, итд.
  • Вопрос задан
  • 2432 просмотра
Пригласить эксперта
Ответы на вопрос 2
gbg
@gbg Куратор тега Программирование
Любые ответы на любые вопросы
for(const auto&i:str)
{
  //в i посимвольно  попадет строка str
}
Ответ написан
Комментировать
tsarevfs
@tsarevfs Куратор тега C++
C++ developer
Пользователь может захотеть исправить текст. Поэтому вычисления лучше делать по нажатию Enter или кнопки на форме. Считывайте всю строку и перебирайте по 1 символу в цикле:
void __fastcall TForm1::Edit1KeyDown(TObject *Sender, WORD &Key,
      TShiftState Shift)
{
   if (Key == VK_RETURN)
   {
      string input = Edit1->Text;
      for (size_t i = 0; i < input.length(); ++i)
      {
        //тут делайте с input[i] что хотели
      }
   }
}


Но если очень хочется, то обработчик как раз получает параметр Key c последним введенным символом.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы