c разбить строку на слова split

  • Автор темы Lucania
  • 36
  • Обновлено
  • 05, May 2023
  • #1
В языке программирования C функция для разбиения строки на слова (split) называется
 strtok
. Вот пример кода, который разбивает строку на слова и выводит каждое слово в новой строке: cCopy code
 #include <stdio.h>

#include <string.h>

int main() {

char str[] = "Это строка, которую нужно разбить на слова";

char delim[] = " ";

char *ptr = strtok(str, delim);

while (ptr != NULL) {

printf("%s\n", ptr);

ptr = strtok(NULL, delim);

}

return 0;

}

В этом примере функция
 strtok
используется для разбиения строки
 str
на отдельные слова, используя разделитель пробела (
 delim
). В первом вызове функции
 strtok
строка передается в качестве аргумента, а затем функция возвращает первое слово.

Затем следующие вызовы функции
 strtok
передают
 NULL
в качестве аргумента, чтобы продолжить разбиение строки на следующие слова. Данный код выведет следующий результат: Copy code
 Это
строка,
которую
нужно
разбить
на
слова
Обратите внимание, что функция
 strtok
изменяет исходную строку, заменяя разделители на нулевые символы.

Если это не подходит для вашего случая, можно использовать функцию
 strtok_r
, которая сохраняет исходную строку в неизменном виде.

Lucania


Рег
02 Feb, 2023

Тем
27158

Постов
27328

Баллов
298908
Тем
49554
Комментарии
57426
Опыт
552966

Интересно