![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
supercelt |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 25.8.2005 Репутация: нет Всего: 1 |
Добрый вечер! Пишу на СИ. Суть вот в чём. Есть строка
Мне надо найти подстроку \r\n+CME ERROR:58\r\n. Но вместо 58 может быть любое число. Понятно что можно применить регулярки. Но возникла другая проблема. Есть библиотека PCRE2. Я ее скачал. Собрал с помощью CMAKE. Получились на выходе фалы, среди которых есть pcre2.h. Я его скопировал в MINGW\include. Но при компиляции вылетают ошибки, которые я мало понимаю что означают. Я не силён именно в сборках и внедрении библиотек. А мануал на английском по большей части и рассчитан на то что человек уже шарит хоть что-то в сборках. У меня такое ощущение что после сборки в CMAKE это всё надо еще как-то инсталлировать, а не просто скопировать заголовочный файл... Кстати при компиляции проекта вылетают следующие ошибки:
Мой код полностью:
Получается у меня основная проблема как искать с помощью регулярок или другой способ.... и если регулярки - оптимальное решение, то проблема выше - инсталляция библиотеки Спасибо большое если ответите. |
||||||
|
|||||||
Oldshelf |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 163 Регистрация: 22.4.2018 Репутация: нет Всего: 4 |
||||
|
||||
supercelt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 25.8.2005 Репутация: нет Всего: 1 |
Там в файлах даже нет таких, с расширением .а
|
|||
|
||||
Oldshelf |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 163 Регистрация: 22.4.2018 Репутация: нет Всего: 4 |
Не уверен, что поможет, но вот обсуждение подключения соответствующей статической библиотеки ("libpcre2-32.a") в проект: https://stackoverflow.com/questions/7363161...c-cmake-project
|
|||
|
||||
supercelt |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 25.8.2005 Репутация: нет Всего: 1 |
Не помогло( |
|||
|
||||
Oldshelf |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 163 Регистрация: 22.4.2018 Репутация: нет Всего: 4 |
||||
|
||||
YUENHOIFEF |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 24.12.2022 Репутация: нет Всего: нет |
Это не подстрока, а строка. Можно сравнивать шаблон с часть строки, а не со всей строкой, с помощью функции: strnstr(); +CME ERROR:58 +CME ERROR Ищешь подстроку в строке(выделено зеленым), и если совпало - выдергиваешь цифру(то что после : ) |
|||
|
||||
supercelt |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 658 Регистрация: 25.8.2005 Репутация: нет Всего: 1 |
Конечно же нет Добавлено через 1 минуту и 28 секунд
Не подходит к сожалению, мне надо убедиться что после числа обязательно приняты \r\n. И только после этого дёргать число |
||||
|
|||||
Oldshelf |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 163 Регистрация: 22.4.2018 Репутация: нет Всего: 4 |
Тогда необходимо сначала добавить каким-либо способом эту библиотеку в раздел "lib", например отсюда, а потом явно подключить в параметрах компоновщика. Хотя, кажется, эта библиотека должна появиться где-то после "cmake", вместе с "pcre2.h". |
|||
|
||||
YUENHOIFEF |
|
|||
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 24.12.2022 Репутация: нет Всего: нет |
supercelt, И тем не менее эта задача легко решаема без регулярных выражений.
Читаешь текст построчно (если очень надо, пусть концом строки является \r\n, а не просто \n) Сравниваешь с шаблоном. Проверяешь - число ли в конце. Делов-то... Испоьзовать RegExp в Cи, как-то не так и что-то не то. ![]() Это мое мнение, не более. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |