好吧,我和斯特托克有麻烦了我读了很多文章,说我不能在strtok中使用char*,但是,我还能用什么来拆分字符串(char*)或者你知道如何使用strtok和指针吗?

int play(char** matrixGame, char** matrixUser, int rows, int columns, char* input)
{
   char * token2;
   int x,y;
   char * inputPlay;

   inputPlay = (char*)malloc(sizeof(char)*10);

   token2 = strtok(input, " ");
   x = atoi(token2);

   token2 = strtok(NULL, " ");
   y = atoi(token2);

   token2 = strtok(NULL, " ");
   strcpy(inputPlay,token2);
}

希望你们能帮我,谢谢。

最佳答案

这些答案回答了OP的问题strtok segmentation fault, another way to split strings?
还有一个称为strsep的函数,但它不是标准化的根据你的用途,你也可以使用它(以便携性为代价)。
您可以编写自己的strtok版本,抛弃您不喜欢的strtok内容。
您可以在前面讨论的这个主题中仔细查看这个discussion如果为了自己的目的实现了第一个参数或不使用常量字符数组,那么这些问题是可以解决的。

关于c - strtok段错误,拆分字符串的另一种方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45873524/

10-15 16:48