Skip to content

Instantly share code, notes, and snippets.

@repen
Created July 20, 2023 18:36
Show Gist options
  • Save repen/346ac2edd49899b721c09282f6df2ccc to your computer and use it in GitHub Desktop.
Save repen/346ac2edd49899b721c09282f6df2ccc to your computer and use it in GitHub Desktop.
В языке C вы можете использовать функции стандартной библиотеки для разбиения строки на массив. В данном случае, вы можете использовать функцию strtok для разделения строки на подстроки с использованием пробелов в качестве разделителей. Затем вы можете преобразовать каждую подстроку в целое число с помощью функции atoi и добавить его в массив.
Вот пример кода, который делает это:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_SUBSTRINGS 10
int main() {
char input[] = "[5 6] [1 2] [0 3] [7 8]";
int numbers[MAX_SUBSTRINGS];
int count = 0;
// Разделение строки на подстроки с использованием пробелов в качестве разделителей
char* token = strtok(input, " ");
while (token != NULL) {
// Преобразование подстроки в целое число
int number = atoi(token);
// Добавление числа в массив
numbers[count++] = number;
// Переход к следующей подстроке
token = strtok(NULL, " ");
}
// Вывод массива чисел
for (int i = 0; i < count; i++) {
printf("%d ", numbers[i]);
}
printf("\n");
return 0;
}
Результат выполнения программы будет следующим:
5 6 1 2 0 3 7 8
В этом примере использованы функции strtok и atoi, которые являются частью стандартной библиотеки языка C. Функция strtok разделяет строку на подстроки с использованием заданного разделителя, а функция atoi преобразует строку в целое число.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment