1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| void strcpy1(char* dst, char* src, int ss, int l) { f(i, 0, l) dst[i] = src[ss + i]; dst[l] = 0; }
char** strsplt(char* src, int* n) { int l = strlen(src), s = 0; *n = 1; f(i, 0, l) if (src[i] == ' ')(*n)++; char **ret = (char**)malloc(sizeof(char*) * (*n)), *newstr; *n = 0; f(i, 0, l) { if (src[i] != ' ') continue; newstr = (char*)malloc(sizeof(char) * (i - s + 1)); strcpy1(newstr, src, s, i - s); ret[(*n)++] = newstr; s = i + 1; } newstr = (char*)malloc(sizeof(char) * (l - s + 1)); strcpy1(newstr, src, s, l - s); ret[(*n)++] = newstr; return ret; }
|