Я хочу поместить следующий код в функцию: (код не полный, но я думаю, что он должен быть понятен вам)
char *parsedData[SEPERATOR];
for(int i=0; i<SEPERATOR; i++)
{
parsedData[i]=tmp;
}
Функция должна выглядеть следующим образом:
int main()
{
char *parsedData[SEPERATOR];
Parser(WTString, parsedData);
}
int Parser(char *WTString, *parsedData[SEPERATOR])
{
for(int i=0; i<SEPERATOR; i++)
{
parsedData[i]=tmp;
}
}
Код отлично работает в одной функции. Разделив код на две функции, я не получил полезных данных.
Буду благодарен, если кто-нибудь сможет мне помочь. Я не хочу использовать дополнительные библиотеки.
char *parsedData[SEPERATOR];
Зачем?
Почему вам нужно использовать необработанный массив указателей для char
в С ++?
Почему бы тебе просто не использовать std::vector<std::string>
и избавь себя от множества страданий и отчаяния.
C ++ способ сделать это будет выглядеть так:
#include <string>
#include <vector>
std::vector<std::string> Parser(const char *WTString)
{
std::vector<std::string> result;
for(std::size_t i = 0; i != SEPERATOR; ++i)
{
result.push_back(tmp); // whatever tmp is
}
return result;
}
Я не хочу использовать дополнительные библиотеки.
Не волнуйтесь, мой пример кода требует только стандартную библиотеку.
Если вы не хотите использовать stl, я предлагаю эту функцию:
int PointToDefault(char* target, char** parsedData, unsigned int count)
{
for (unsigned int i=0; i<count; i++)
{
parsedData[i] = target;
}
}
и этот звонок:
#define SEPERATOR 15
int main()
{
char tmp[] = "default string";
char *parsedData[SEPERATOR];
PointToDefault(tmp, parsedData, SEPERATOR);
}