好吧,我和斯特托克有麻烦了我读了很多文章,说我不能在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/