char *commandstrings[MAXARGS];
commandstr = strtok(line,"|");
int i = 0;
while(commandstr != NULL){
commandstrings[i] = commandstr;
printf("%s \n",commandstr);
commandstr = strtok(NULL,"|");
i++;
}
printf("first parsing complete!");
大家好。我正在尝试使用 strtok 将字符串分成各种子字符串,并将它们存储到一个名为“commandstrings”的字符串数组中。
问题是我在到达最终 printf 之前遇到了分段错误。假设我将以下行作为参数:“lol | omg | bbq”
程序打印:
lol
omg
bbq
分段错误(核心转储)
可能是什么问题呢?我认为我不需要用其余的代码来打扰你们,因为“while”循环执行得很好,并且在离开 cicle 之前发生错误,因为最后一次打印没有显示。
谢谢!