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

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

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

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

10.05.2013, 03:58. Просмотров 567. Ответов 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++
strtok C++
C++ функция strtok
C++ Функция strtok. Представление телефонного номера в виде строки.
strtok C++
C++ функция strtok()
Как работает функция strtok C++
Функция strtok() не воспринимает пробел как разделитель C++
Не могу разобрать часть кода. Функция strtok C++
Использование STRTOK Разбить строку на слова, из слов составить список C++ Функция strtok C++
C++ Функция strtok и занесение в массив
Функция разделения строки на лексемы strtok C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт CЭксперт С++
12675 / 7183 / 801
Регистрация: 27.09.2012
Сообщений: 17,710
Записей в блоге: 2
Завершенные тесты: 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()
Ответ Создать тему
Опции темы

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