#include <stdio.h>
#include <stdint.h>
void split(const char *str,char delimiter,char tokens[10][20],uint8_t *count)
{
int i=0,j=0,k=0;
for(i;str[i];i++)
{
j=0;
BACK:if(str[i]!=delimiter && str[i]!='\0')
{
tokens[k][j]=str[i];
i++;
j++;
goto BACK;
}
tokens[k][j]='\0';
(*count)++;
k++;
if(str[i]=='\0')
{
break;
}
}
}
int main() {
char str[101];
char delimiter;
fgets(str, sizeof(str), stdin);
scanf(" %c", &delimiter);
uint8_t i = 0;
while (str[i])
{
if (str[i] == '\n')
{
str[i] = '\0'; break;
}
i++;
}
char tokens[10][20];
uint8_t count = 0;
split(str, delimiter, tokens, &count);
for (uint8_t i = 0; i < count; i++)
{
printf("%s\n", tokens[i]);
}
return 0;
}
Input
cmd1,cmd2,cmd3 ,
Expected Output
cmd1 cmd2 cmd3