Есть следующий код, занимающийся поиском элементов в строке. Почему-то ф-ия regex_search выдает ошибку в заданных элементах, конкретно в string переменной s. Не могу понять, почему это происходит, ведь первым аргументом функции должна быть string переменная. Что с этим делать?
#include <iostream>
#include <fstream>
#include <regex>
using namespace std;
void main()
{
ifstream tx("Text.txt");
string s,temp;
std::cmatch res;
std::regex r ("scientist");
while (tx >> temp)
{
s.append(temp);
s.push_back(' ');
}
cout << s;
std::regex regex_search(s, res, r);
}
Ее надо использовать примерно так (я взял готовую строку, не из файла)
string s = "sav asgyv sadg sd bj jkfseb scientist, djkb, scientisttemp";
std::smatch res;
std::regex r("scientist");
cout << s << endl;;
while (regex_search(s, res, r))
{
cout << res.str() << " + " << res.suffix() << endl;
s = res.suffix();
};
То, что вы написали, даже не вызов функции...
Программа должна удалять каждое четное слово, дублировать каждое нечетное слово, заменять все вхождения букв 'д ' на 'т' и найти первое цифровое...
Есть консольная программа с бинарными ресурсами (Windows)Нашел, как загружать, записывать в файл и так далее -
ЗдравствуйтеЕсть ли какие-нибудь существенные различия между такими определениями указателя: