Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Ближайшее вхождение подстроки - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Комментарии к строкам http://www.cyberforum.ru/cpp-beginners/thread624217.html
#include <iostream.h> #include <math.h> #include<conio.h> using namespace std; int main() {clrscr(); int a, b; int* ptr1 =&q; int* ptr2 =&w;
C++ Комментарии к каждой строке #include <iostream.h> #include<conio.h> struct Sphere { double x; double y; double radius; }; int main() http://www.cyberforum.ru/cpp-beginners/thread624216.html
C++ Как скопировать строку из фаила после определенного слова
Сабаж. Просто не представляю какэто сделать.... Есть текстовый фаил надо скопировать строку от слова String не включая его и до конца линии притом что это слово может повторяца несколько раз за...
Тест по С++ C++
Здравствуйте!Помогите,пожалуйста, с решением теста по С++, ответы мне нужны до утра 7. What is correct about virtual function? Select correct answer: A. It must be redefined in child class B. It...
C++ Класс Hex http://www.cyberforum.ru/cpp-beginners/thread624205.html
Ребята, сижу не могу сделать, подскажите кто чем сможет: Создать класс Hex с беззнаковыми целыми шестнадцатеричными числами, используя для представления числа массив из 100 элементов типа unsigned...
C++ Функция работает некорректно #include <iostream> using namespace std; short fill(double*, short); const short size = 5; int main() { double array; fill(array, size); подробнее

Показать сообщение отдельно
olegod
0 / 0 / 0
Регистрация: 04.05.2011
Сообщений: 113

Ближайшее вхождение подстроки - C++

15.07.2012, 22:20. Просмотров 1460. Ответов 23
Метки (Все метки)

Здравствуйте, есть текст и переменная с позицией последнего клика на этом тексте, нужно найти 2 ближайших вхождения определённой подстроки(слева и справа). Вот что у меня получилось:
C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
//clipboard строка const char*, c - позиция последнего клика в int
   int i = 0;
   int p1;
   int p2;
 while(true) {
  if(p1 != 0 and (clipboard[c - i] == ';' || clipboard[c - i] == '\n'))
      p1 = c - i;
  if(p2 != 0 and (clipboard[c + i] == ';' || clipboard[c + i] == '\n'))
      p2 = c + i;
if(p1 != 0 and p2 != 0)
    break;
 
i++;
}
Но такой код не работает, он возвращает огромные числа, помогите исправить или найти более правильное решение. Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru