Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
somebdy
7 / 7 / 1
Регистрация: 30.04.2013
Сообщений: 25
#1

Функция strtok() - C++

10.05.2013, 03:58. Просмотров 597. Ответов 2
Метки нет (Все метки)

Доброе время суток!

Подскажите пожалуйста в чем проблема и как с ней бороться.

Имеем такой код:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
#include <cstring>
 
int main() {
    char path[] = "\\home\\vasya";
    
    char * dir = strtok(path, "\\");
    
    while (dir) {
        std::cout << dir << std::endl;
        
        dir = strtok(path, "\\");
    }
}
Судя по всему на выводе должны получить:

home
vasya

Но по каким-то неизвестным причинам программа выводит "home" бесконечное число раз. Как быть?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2013, 03:58     Функция strtok()
Посмотрите здесь:

функция strtok - C++
расскажите алгоритм char str =&quot;- This, a sample string.&quot;; char * pch; printf (&quot;Splitting string \&quot;%s\&quot; into tokens:\n&quot;,str); ...

функция strtok() - C++
Объясните, пожалуйста, функцию strtok()...то что непонятно - заккоментила ps=strtok(str, &quot; &quot;); // понятно, что strtok () разбивает...

Функция strtok и занесение в массив - C++
Пытаюсь с помощью этой функции разбить массив char на слова и каждое слово занести в отдельный элемент нового массива char. Вроде...

Как работает функция strtok - C++
Как работает функция strtok. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;conio.h&gt; using namespace...

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

Не могу разобрать часть кода. Функция strtok - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;conio.h&gt; #include &lt;string.h&gt; void main(void) { using namespace std; ifstream...

Функция strtok() не воспринимает пробел как разделитель - C++
Функция успешно разделяют строку на лексемы из массива символов stri, но при вводе строки с клавиатуры, &quot;пробел&quot; между словами не...

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

strtok - C++
Почему так работает #include &lt;stdafx.h&gt; #include &lt;conio.h&gt; using namespace std; int main(){ char string = &quot;a string, of ,...

strtok - C++
Привет! Решаю задачку на строки char. Возникла проблема вот код: //vuravnivanie slov po levomy i pravomy pol9m stranicu ...

strtok - C++
как с помощью функции strtok вывести последнее слово

strtok - C++
Скажите, если ли функция, аналог strtok, для типа string?


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12980 / 7292 / 812
Регистрация: 27.09.2012
Сообщений: 18,007
Записей в блоге: 3
Завершенные тесты: 1
10.05.2013, 04:00     Функция strtok() #2
В цикле:
C++
1
dir = strtok(NULL, "\\");//NULL значит работаем с той же строкой.
somebdy
7 / 7 / 1
Регистрация: 30.04.2013
Сообщений: 25
10.05.2013, 04:01  [ТС]     Функция strtok() #3
Аа, блин, вот я слепой. Спасибо!
Yandex
Объявления
10.05.2013, 04:01     Функция strtok()
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru