Ошибка сегментации (ядро сброшено), когда я пытаюсь использовать strtok в C - PullRequest
0 голосов
/ 21 ноября 2019
#define delims "\t"
char **parser(char *line)
{
  int position = 0;
  char **tokens = malloc(64* sizeof(char*));
  char *token;

  token = strtok(line, delims);
  while (token != NULL) {
    tokens[position] = token;
    position++;

    token = strtok(NULL, delims);
  }
  tokens[position] = NULL;
  return tokens;
}

int main(){
  char **args;
  char *line="abc\tabc";
  args=parser(line);
}

Когда я пытаюсь запустить этот код, я получаю сообщение об ошибке «Ошибка сегментации (ядро сброшено)». Я попробовал это на Linux с GCC. Проблема не в размере токенов.

...