Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 33

Копирование строки strtok

28.04.2013, 13:29. Показов 1221. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я разбиваю строку на токены с помощью strtok
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <string.h>
#include <conio.h>
 
int main(int argc, char* argv[])
{
char str[] ="- This, a sample string.";
  char * p;
  printf ("Razdelenie stroki \"%s\" into tokens:\n",str);
  p = strtok (str," ,.-");
  while (p != NULL)
  {
    printf ("%s\n",p);
    p = strtok (NULL, " ,.-");
  }
        getch();
        return 0;
}
а когда начинаю копировать строку через strcpy копируется только первое слово, в чем проблема?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.04.2013, 13:29
Ответы с готовыми решениями:

Использование STRTOK Разбить строку на слова, из слов составить список C++ Функция strtok
Задача Дана строка слов с разделителями, в данном примере слова с пробелами Нужно, используя функцию strtok, сформировать из этих слов...

Удаление строки strtok
Здравствуйте, дорогие друзья. Передо мной задача - удалить часть строки при помощи функции strtok. Но как это сделать - ?? Допустим,...

Разбиение строки на токены: strtok
нужно чтобы программа разбивала строку с выражением, использую strtok например &quot;6+8+99-76-34&quot; выводила 6 8 99 76 34 +...

5
~ Эврика! ~
 Аватар для OhMyGodSoLong
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
28.04.2013, 13:39
В том, что strtok() вставляет '\0' прямиком в исходную строку.
0
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 33
28.04.2013, 15:41  [ТС]
это понятно, но как мне сделать так чтобы копировались и другие слова
C++
1
2
3
4
5
char str2[40];
strcpy (str2,str);
 
 
  printf ("str2: %s\n",str2);
0
~ Эврика! ~
 Аватар для OhMyGodSoLong
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
28.04.2013, 15:49
Копировать их в тот момент, когда strtok() возвращает указатель на начало следующего токена.
1
0 / 0 / 0
Регистрация: 22.04.2013
Сообщений: 33
28.04.2013, 17:06  [ТС]
получилось, спасибо
есть еще вопрос как сравнить последнюю букву слова с первой буквой следующего слова
0
~ Эврика! ~
 Аватар для OhMyGodSoLong
1258 / 1007 / 74
Регистрация: 24.07.2012
Сообщений: 2,002
28.04.2013, 17:16
Вообще правильно вычислить длину предыдущего слова, чтобы узнать, где у него нужная буква. Естессно, надо помнить начала обоих слов. Можно попробовать схитрить и адресной арифметикой вернуться назад от первой буквы текущего слова, но strtok() ничего не говорит о том, что будет делать, когда идёт подряд несколько разделителей, так что такой вариант может не взлететь.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.04.2013, 17:16
Помогаю со студенческими работами здесь

Функция разделения строки на лексемы strtok
Программе на вход подается строка, содержащая слова один-девять плюс минус, наприм: один плюс два минус три плюс пять. Нужно посчитать...

Функция strtok. Представление телефонного номера в виде строки.
Запутался в функции strtok. Причем уже сделал для неё пару упражнений, вроде понимаю как она работает. По крайней мере с предложением из...

Можно ли разбить строки на слова при strtok и обратиться к нужному слову?
Вот предположим есть какой-то текст fdjgd f.df dfdgwe wek eu fkkkk Предположим мне нужно поработать только с каким-то...

C18 Функция Strtok - считывается только первое число строки
Добрый день. У меня возникла необходимость парсить большое количество строк и вычленять числа из строки, разделенные между собой точкой...

Excel. Копирование столбца, при заполнении 22-й строки продолжить копирование в соседний столбец
Всем привет. Задача: Есть таблица Excel, заполнены 2 столбца, из них первый - порядковые номера, второй - числа. Нужно: - провести...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru