буквенный поиск в vector

271
07 апреля 2019, 21:20

При создании кнопки поиска компилятор выдает ошибку:

Lvalue required

Ругается он на эту строчку:

Search.name =  EditSearch->Text.c_str();

Полный код кнопки:

page search;
vector <page>::iterator p;
Search.name =  EditSearch->Text.c_str();
p= find(doc.begin(), doc.end(), search);
y = p - doc.begin();
Show();

Show - функция которая выводит данные ячейки вектора. Задумка такая: через итератор ищем слово по индексу "y" если такое слово есть то программа нам выдает всю ячейку по этому индексу.

Answer 1
const wchar_t* src_str = EditSearch->Text.c_str();
std::memcpy(Search.name, src_str, std::wcslen(src_str) * sizeof(wchar_t));

Способ от @freim'a:

std::wcscpy(Search.name, src_str);

UPD.:

auto it = std::find_if(doc.cbegin(), doc.cend(), [&search](const auto& _page) {
    return /* тут Ваше условие */;
});
READ ALSO
Помогите удалить строку [закрыт]

Помогите удалить строку [закрыт]

На просторах интернета нашёл такой код, но он почему-то не пашет:

149
Оператор if внутри else [закрыт]

Оператор if внутри else [закрыт]

Написал данный код, он что то не работает:

169
JavaFX действия над элементами одного окна из другого окна

JavaFX действия над элементами одного окна из другого окна

Помогите решить проблемуИмеются два fxml файла и их контроллеры:

288