Strtok - изменение данных при использовании - C (СИ)

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

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

Здравствуйте! При написании программы столкнулся со следующей проблеммой... Вот код (все лишнее из своей программы вырезал - чтобы показать ошибку):
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
 
int main ()
{
  char *str ="This a sample string";
  char *pch;
  char *rt=str;
  
  pch = strtok (str," ");
  printf ("%s\n",str);
  
  printf ("%s\n",rt);
  
  return 0;
}
Когда использую функцию strtok, то происходит магическое изменение содержимое переменной rt Тоесть после токо как str разбивается по пробелам, то содержимое rt будет "This" Вот тут я вступоре совсем, это как такое возможно Отдельный указатель вроде на переменную, ну окей ей присваиваю содержимое str, причем естественно если str изменю (после того, как rt=str) - то содержимое rt никак не изменится. Но Как токо использую strtok - все...

Решение задачи: «Strtok - изменение данных при использовании»

textual
Листинг программы
bash-3.2$ gcc -o belkin_strtok belkin_strtok.c
bash-3.2$ ./belkin_strtok
Bus error
bash-3.2$ gcc -dumpversion
4.0.1
bash-3.2$

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


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

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

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