and here's a variation that's even less elegant, but more simple, assuming you can use standard C libraries
#include <string.h>
char longString[3000], splitString[100][30];
int stringLen, index;
// "longString" is filled with a null-terminated string of chars
stringLen = strlen(longString);
index = 0;
while (index*30 < stringLen)
{
strncpy(splitString[index], &longString[index*30], 30);
index++;
}
note that the split strings will not be null-terminated, the unused array elements are uninitialized, the use of arbitrary "magic numbers" (30), and the complete lack of error checking make this entirely unacceptable for commercial or industrial use. i give it here for illustrative purposes only.
.