Я хочу, чтобы разбить строку на C.Строка Раскол в C
Моя строка определяется моим Struct:
struct String
{
char *c;
int length;
int maxLength;
}
Тогда у меня есть функция, которая делает расщепление. Возможно, у C есть что-то, что делает это, но, хотя я и хотел своего, я не нашел ничего, что сделает это до сих пор.
String ** spliter(String *s)
{
if(s == NULL)
return NULL;
// set of splitters: {'\n', ' '}
}
Input выглядит примерно так: This is Sparta.
Тогда я хочу, чтобы вернуть указатель на каждый массив символов.
*p1 = This
*p2 = is
*p3 = Sparta.
Если это имеет смысл, я хочу, массив указателей, и каждый указатель указывает на массив символов.
Мне нужно будет перераспределить строку, когда я увеличиваю размер каждого массива символов. Наверное, моей самой большой проблемой является представление о том, как работают указатели.
Похожие проблемы: c splitting a char* into an char**
Итак, как я могу идти об этом?
Я немного боюсь strtok, так как он уничтожит исходную строку, поданную в нее. –
Используйте 'strdup', чтобы сделать копию? – charmlessCoin
У кого-нибудь есть .c исходный код для strtok? –