Я новичок в программировании на C и у меня проблема:
У меня есть строка:
char input[] = "1000 10 30: 1 2 3";
Я хочу разделить входные данные и сохранить значения в разных массивах, "1000 1030 "в одном массиве и" 1 2 3 "в другом массиве.
Я пытался использовать strtok (), но я не могу найти решение, чтобы сделать это.
Кто-нибудь знает, как это сделать?
Спасибо!
Редактировать: Спасибо, вот остаток кода:
int a1[3];
int a2[3];
char input[] = "1000 10 30:400 23 123";
char*c = strtok(input, ":");
while (c != 0)
{
char* sep = strchr(c, ' ');
if (sep != 0)
{
*sep = 0;
a1[0] = atoi(c);
++sep;
*sep = strtok(sep, " ");
a1[1] = atoi(sep);
++sep;
a2[2] = atoi(sep);
}
c = strtok(0, ":");
Я использовалПример я нашел здесь и попытался изменить его, чтобы добавить больше элементов в массив, но не смог сделать это.третий элемент почему-то равен 0, и я не понимаю, почему.Я начинающий ++ программист, но в основном C #, и раньше я не использовал указатели.