在C++中将一行转换为一个Node

Yun*_*zel -1 c++

我正在尝试编写一个函数,它将一行作为一个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数组.我的问题有什么解决方案吗?

Arm*_*yan 7

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