Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
104 / 94 / 14
Регистрация: 20.06.2010
Сообщений: 966
Записей в блоге: 16

Проверка строк

18.07.2011, 18:05. Показов 1140. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вот есть например строка AnsiString msg= "gold 50, hp=100; mv=200"; как сделать вот такую проверку:
C++
1
if (msg=="gold %d, hp=%d, mv=%d") blabla(); else blybly();
Т.е. если строка msg равняется строчки gold %d, hp=%d, mv=%d, где %d любые числа?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.07.2011, 18:05
Ответы с готовыми решениями:

Проверка строк и столбцов на одинаковые числа
Здравствуйте, помогите пожалуйста с проблемой. Делаю игру "Судоку", у меня есть 81 Едитка, в которых есть числа, как сделать что бы шла...

Проверка строк
Как на си реализовать проверку строк? К примеру, ожидаю сообщение "DATA OK".

Проверка строк
Всем привет! Вот есть задача на проверку строки. Помогите решить, пожалуйста. Ввести строку текста (с клавиатуры) в формате имени...

7
Now I Matrix
137 / 134 / 28
Регистрация: 01.03.2010
Сообщений: 223
18.07.2011, 18:32
C++
1
2
3
4
5
6
7
8
9
AnsiString msg= "gold 0, hp=t100; mv=200";
msg.Delete(1,msg.Pos(" "));
AnsiString gold=msg.SubString(1,msg.Pos(",")-1);
msg.Delete(1,msg.Pos("="));
AnsiString hp=msg.SubString(1,msg.Pos(";")-1);
msg.Delete(1,msg.Pos("="));
AnsiString mv=msg;
int buf;if(TryStrToInt(gold,buf) && TryStrToInt(hp,buf) && TryStrToInt(mv,buf))ShowMessage("Строка верна!");
else ShowMessage("Строка НЕ верна!");
Если формат строки будет не измЕнен, а изменяться будет только то где %d, то приведённый код будет работать правильно (сам писал, проверял, всё ок!)

Но я не уверен (на 99%) что приведённый мной способ проверки является красивым и правильным.
В нём я вычленяю эти %d и в о концовке проверяю являются ли они числом.
0
104 / 94 / 14
Регистрация: 20.06.2010
Сообщений: 966
Записей в блоге: 16
18.07.2011, 20:15  [ТС]
Длинно как то ( Надо, чтобы этот код еще работал, если вместо %d любое слово(или слова)
0
 Аватар для iama
1360 / 988 / 119
Регистрация: 30.07.2010
Сообщений: 5,297
18.07.2011, 20:56
sscanf
0
 Аватар для Maluda
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
19.07.2011, 07:40
Ребята, это же AnsiString, здесь всё намного проще
C++
1
2
3
4
5
6
int iD = 0;
double dF = 0.000001;
if (msg=="gold " + AnsiString(iD) + ", hp=" + AnsiString(dF) + ", mv=" + AnsiString(iD)) 
       blabla(); 
else 
       blybly();
Добавлено через 6 минут
0
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
19.07.2011, 08:01
Maluda, а кто сказал, что там будут числа 0 и 0.000001, вообще какие-то конкретные числа?

iama уже дал самый адекватный ответ, имхо.
0
 Аватар для xAtom
935 / 760 / 299
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
19.07.2011, 09:01
Вот сканировка строк.
C++
1
2
3
4
5
6
   AnsiString msg = "gold 677, hp=7, mv=55";
   int a, b, c;
   if(sscanf(msg.c_str(), "gold %d, hp=%d, mv=%d", &a, &b, &c) == 3)
        ShowMessage("yes compare.");
   else
        ShowMessage("not !");
0
 Аватар для Maluda
1280 / 598 / 116
Регистрация: 18.08.2009
Сообщений: 832
19.07.2011, 11:03
А сорри, я задачу неправильно понял, я думал, что он перед сравнением
сам формирует строку и знает переменные.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.07.2011, 11:03
Помогаю со студенческими работами здесь

Проверка строк
Доброго времени суток. Подскажите как можно проверить в строке наличие 2 стрингов? К примеру есть строка "Мама мыла раму" и 2...

Проверка на дублирование строк
Добрый день! В очередной раз прошу о помощи. Существует форма с полями Дата, Сумма, Сотрудник, Статья затрат. Необходимо, чтобы при...

Проверка валидности строк
Здравствуйте. Возникла необходимость проверить структуру документа на соответствие маске перед внесением в него изменений. Для...

Проверка на равенство строк
Всем привет! Есть абстрактный класс Transport и классы наследники: Train, Plane, Ship. есть метод. принимает параметр type(Значения: all,...

Проверка строк на идентичность
Ламерский вопрос, по идее элементарно, но не работает :/ Из-за этого маленького кусочка не работает большая работа. Изолировал его в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru