我想将以下代码放在一个函数中:(代码不完整,但我认为应该很清楚)
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;
}
}
代码在一个函数中正常工作。通过将代码分成两个函数,我得不到可用的数据。
如果有人能帮助我,我将不胜感激。我不想再使用其他库。
答案 0 :(得分:1)
char *parsedData[SEPERATOR];
为什么?
为什么需要在C ++中使用指向char
的原始指针数组?
你为什么不只使用std::vector<std::string>
并为自己节省一大堆苦难和绝望。
答案 1 :(得分:0)
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;
}
我不想再使用其他图书馆。
别担心,我的代码示例只需要标准库。
答案 2 :(得分:0)
如果您不想使用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);
}