Как вставить <char>
массивов в <char*>
векторах что-то вроде этого:Использование векторов в C++?
std::vector<char> ch;
ch.push_back('H');
ch.push_back('e');
ch.push_back('l');
ch.push_back('l');
ch.push_back('o');
std::vector<char*> vec;
vec.push_back(ch);
но дает ошибку говоря: push_back() cannot convert parameter 1 from....
Так есть способ загрузки ch[]
значения в vec[0]
и по-прежнему использовать одну из моей функции, которая выполняет поиск для содержимого в векторе, например: vecf[]
содержит содержимое файла в нем, я могу выполнить поиск по vecf[0]vecf[1]...
для аналогичного содержимого, например, поиск текста "Hello"
от "Hi, Hello..."
?
Как мне сказали, что мой вопрос был неясен, так вот понятнее версия: Это можно сделать так:
char string[]="Hello World";
std::vector<char*> vec;
vec.push_back(string);
cout<<vec[0];
затем, если строка имеет тип станд :: вектор, как это:
std::vector<char> string;
std::vector<char*> vec;
how would i do like this?
vec.push_back(string);
или что-то вроде этого, чтобы получить содержимое строки в VEC, а ч и VEC не в реальном проекте, я использовал термин ч и VEC для всего примера того, как сделать так, в мой проект представляет собой идентификатор векторной переменной char, который является чем-то вроде этого ID = "ID2" но в векторе значения идентификатора загружаются из файла, есть еще один тег, который содержит ссылочный идентификатор, который я буду сравнивать с ID [0]/ID [1], пока не будет найдено одно совпадение, я получу его позицию в массиве, то есть другая векторная переменная (int), которая содержит всю позицию узлов в массиве в файле, я буду использовать как этот SPos [ArrayPos], чтобы получить позицию узла в файле, надеюсь, что это было достаточно ясно ...
Почему бы вам просто не использовать строку в C++? –
Почему вы используете 'char *' в первую очередь? –
Это действительно 'std :: string', который вы ищете, если вы хотите сохранить вектор по какой-либо причине, это' int len = strlen (ch); std :: vector vec; vec.insert (vec.begin, ч, CH + LEN); '. О, и что вам не удалось, было преобразование из 'const char *' в 'char *' –
PeterT