У меня есть такая строка:
"monday,wednesday,friday"
И я хотел бы сохранить ее в массив массивов символов (~ массив строк).
char **splitString(char *string, int size, char delimiter)
{
char **ptr = (char **)malloc(size * sizeof(char *));
int i = 0;
ptr[i] = strtok(string, &delimiter);
while (ptr[i] != NULL)
{
ptr[++i] = strtok(NULL, &delimiter);
}
return ptr;
}
Управляется чтобы сделать это с кодом выше, но так как он всегда проверяет текущую токенизированную строку, он не останавливается на последней и читает дополнительный NULL
. Распечатав полученный массив:
The 0. element is: monday
The 1. element is: wednesday
The 2. element is: friday
The 3. element is: (null)
Существует ли краткий и простой способ узнать, когда l oop достигает последнего элемента?