Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
Анна Лето
0 / 0 / 1
Регистрация: 08.07.2013
Сообщений: 47
1

Реализация функции strtok

23.12.2014, 20:46. Просмотров 524. Ответов 2
Метки нет (Все метки)

Добрый день.
Мое задание звучит так: изучите поведение функции strtok из стандартной библиотеки.
Реализуйте и протестируйте собственную реализацию такой функции.

Мой код работает неправильно. Подскажите, где ошибки?

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <stdio.h>
 
char* myStrtok( char* p, char* delim)
{
    int n = sizeof(p)/sizeof (char);
    int m = sizeof(delim)/sizeof (char);
    bool exit=false;
    char * _p= p;
 
    for( int i=0; i<n; i++)
    {
        for ( int j=0; j<m; j++)
        {
            if( *(p+i)==*(delim+j))
            {   
                p=(p+i);
                *(p+i)=NULL;
                exit=true;
                break;
            }
        }
        if(exit) break;
    }
    return ( exit ) ? _p : NULL;
}
 
int main()
{
char str[] = "My name is Bob";
char* l= myStrtok( str, " ");
 
while (l != NULL)
{
printf ("%s\n", l);
l= myStrtok( NULL, " ");
}
 
    return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.12.2014, 20:46
Ответы с готовыми решениями:

Своя реализация strtok
Здравсвуте. Пробовал делать поиск, но почему-то все время просто выдает темы...

Собственная реализация strtok, стоит ли применить статическую переменную?
Добрый день! Пришла мысль реализовать свою strtok. Хотел...

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

Использование функции strtok
Помогите разобраться с тремя строками кода которые закомментированы using...

Сделать упрощенную версию функции strtok()
#include &lt;iostream&gt; using namespace std; char *slova (char s, bool...

2
IrineK
Заблокирован
24.12.2014, 03:36 2
Цитата Сообщение от Анна Лето Посмотреть сообщение
C++
1
int n = sizeof(p)/sizeof (char);
Это всегда равно 4.
0
MrGluck
Модератор
Эксперт CЭксперт С++
8087 / 4940 / 1431
Регистрация: 29.11.2010
Сообщений: 13,395
24.12.2014, 13:35 3
Цитата Сообщение от IrineK Посмотреть сообщение
Это всегда равно 4.
Стандарт не регламентирует размер указателя.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.12.2014, 13:35

Как редактировать токены функции strtok?
Всем доброго времени суток! Есть задание, надо в символьной строке найти слова...

Объяснить назначение и нюансы работы функции strtok()
Что делает это? for (char *p = strtok(str, del); p; p = strtok(NULL, del)) а...

Реализация функции печати результатов предыдущей функции
Была написана программа с функцией, находящая результат выражения с аргументом,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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