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

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

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

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

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

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

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


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

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

11   голосов , оценка 3.636 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы