Я пытаюсь написать метод, который принимает строку и разбивает ее на две строки на основе строки-разделителя, аналогично .split в Java:
char * split(char *tosplit, char *culprit) {
char *couple[2] = {"", ""};
int i = 0;
// Returns first token
char *token = strtok(tosplit, culprit);
while (token != NULL && i < 2) {
couple[i++] = token;
token = strtok(NULL, culprit);
}
return couple;
}
Но я продолжаю получать предупреждения:
In function ‘split’:
warning: return from incompatible pointer type [-Wincompatible-pointer-types]
return couple;
^~~~~~
warning: function returns address of local variable [-Wreturn-local-addr]
... и, конечно, метод не работает, как я надеялся.
Что я делаю не так?
РЕДАКТИРОВАТЬ: Я также открыт для других способов сделать это, кроме использования strtok ().