C ++ получить номер символа * в символе ** - PullRequest
0 голосов
/ 28 ноября 2018

Итак, у меня есть следующая функция, которая разбивает ввод char * по пробелам и добавляет каждый символ * к символу **, который, наконец, возвращается.

char **split_input(char *input) {

  char **command = (char **)malloc(8 * sizeof(char *));
  const char *separator = " ";

  char *parsed;
  int index = 0;

  parsed = strtok(input, separator);
  while (parsed != NULL) {
    command[index] = parsed;
    index++;
    parsed = strtok(NULL, separator);
  }
  command[index] = NULL;

  return command;
}

Мне было интересно, есть ли способполучения суммы символа *, который содержит возвращенный символ **.

1 Ответ

0 голосов
/ 28 ноября 2018

Мне было интересно, есть ли способ получить сумму char*, содержащуюся в возвращаемом char**.

Учитывая код, который вы показали, есть только 1way - вызывающий должен будет перебирать элементы подсчета массива, пока он не достигнет NULL в конце.

В противном случае настройте функцию так, чтобы она возвращала счетчик массива вместе с указателем массива, либо в качестве необязательного выходного параметраили используйте std::pair<char**, int> или struct { char**; int; } в качестве возвращаемого значения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...