我正在尝试编写一个函数,它将一行作为一个string并将其转换为一个Node.
Node convertLineToNode(string line){
char lineC[] = line;
Node *n = new Node();
n->lastname=strtok(lineC," ");
n->name=strtok(lineC," ");
n->ID=strtok(lineC," ");
}
Run Code Online (Sandbox Code Playgroud)
但它无法正常工作.它期望该string行为char数组.我无法将其转换为char数组.我的问题有什么解决方案吗?
C++方式是这样的:
Node* convertLineToNode(std::string const & line)
{
std::istringstream iss(line);
Node *n = new Node();
iss >> n->lastname
>> n->name
>> n->ID;
return n;
}
Run Code Online (Sandbox Code Playgroud)
考虑返回shared_pointer而不是raw