我正在尝试将软件移植到Linux。它在Windows上可以很好地工作。
在Linux上,它给我strcmp分段错误:
int main(void) {
...
char* comando;
char istruzione[100];
scanf("%[^\n]%*c", istruzione);
comando = strtok(istruzione, " ");
if (strcmp(comando, "fput") == 0)
...
}
使用数组表示法可以解决此问题,但是我需要使用*表示法,因为我需要使用strtok,它返回一个* char。
最佳答案
strtok可以返回NULL,这意味着您需要在strcmp中使用它之前进行检查。