#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; }
Test Cases
Test Results
Input
cmd1,cmd2,cmd3 ,
Expected Output
cmd1 cmd2 cmd3