Как с помощью strtok удалить в массиве первое и последнее слово? - C (СИ)

Узнай цену своей работы

Формулировка задачи:

Как с помощью strtok удалить в массиве первое и последнее слово? Даже представить себе не могу... Прочитал про strtok,но стало непонятно, где-нибудь вообще хранятся возвращённые значения или они только для пользователя на экран выводятся?иИ как сделать чтобы они сохранились... Чтобы например в istr[3] первый эл-т был istr[0]=test1, второй istr[1]=test2 и.т.д.... Вот пример:
#include "stdafx.h"
#include <iostream>
#include < stdio.h >  // Для printf
#include < string.h > // Для strtok
int main (void)
{    setlocale(LC_CTYPE,"");
   // Массив со строкой для поиска
   char str [24]="test1/test2/test3/test4";
   // Набор символов, которые должны входить в искомый сегмент
   char sep [10]="/";
   // Переменная, в которую будут заноситься начальные адреса частей
   // строки str
   char *istr;
   char *next_token1 = NULL;
 
   printf ("Исходная строка: %s\n", str);
   printf ("Результат разбиения:\n");
   // Выделение первой части строки
   istr = strtok_s (str,sep,&next_token1);
 
   // Выделение последующих частей
   while (istr != NULL)
   {
      // Вывод очередной выделенной части
      printf ("%s\n",istr);
      // Выделение очередной части строки
      istr = strtok_s (NULL,sep,&next_token1);
   }
   /*
   for(int i=0;i<=25;i++)
   {
 
   }
   */
   system("pause");
   return 0;
}

Решение задачи: «Как с помощью strtok удалить в массиве первое и последнее слово?»

textual
Листинг программы
for(int i=0; arrstr[i]; i++)
   { 
       if((i==0)||(i==(12)))
       {
          arrstr[i]=" ";  
       }
   }

Объяснение кода листинга программы

В данном коде выполняется следующая последовательность действий:

  1. Проход по массиву arrstr, начиная с индекса 0 и до тех пор, пока arrstr[i] не станет пустой строкой (то есть, не будет равно NULL).
  2. Проверка условия: является ли текущий индекс первым (0) или последним (12).
  3. Если условие выполняется, то в текущий элемент массива записывается пустая строка `. Таким образом, данный код удаляет первое и последнее слово из массива arrstr, заменяя их на пустую строку `.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.667 из 5
Похожие ответы