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

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

Войти
Регистрация
Восстановить пароль
 
vlad135642
0 / 0 / 0
Регистрация: 27.11.2010
Сообщений: 11
#1

Работа со строками - прокомментировать код - C++

06.12.2010, 01:22. Просмотров 697. Ответов 1
Метки нет (Все метки)

На просторах интернета нарыл данную прогу :
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include "stdafx.h"
#include <stdio.h>
#include <string.h>
#include <conio.h>
#include <locale>
#include <ctype.h>
 
int main()
{
char s[] = "this ais the testa for acid burn: star, anna";
char *delimiters = " :,.";
char *result = NULL;
result = strtok(s, delimiters);
while(result) 
{
if(result[0] == 'a') 
printf("%s ", result);
result = strtok(NULL, delimiters);
}
_getch();
}
Меня очень интересует логика этой проги , особенно функция strtok . Можете , пожалуйста , откомментить данную прогу . Заранее благодарен .
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.12.2010, 01:22
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа со строками - прокомментировать код (C++):

Работа с файлами. Прокомментировать код - C++
Объясните кто-нибудь пожалуйста более подробно следующие строчки кода. Тема http://www.cyberforum.ru/cpp-beginners/thread591051.html ...

Работа с указателями - прокомментировать код - C++
ваще нефига не понятно что означает каждая строка #include &lt;conio.h&gt; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; float f(float fb,float...

Работа со строками - разобрать код - C++
разбираю сейчас работу со строками и попался такой код программы: #include &lt;stdio.h&gt; #include &lt;string.h&gt; int main() { ...

Прокомментировать код - C++
Нужна помощь. Необходимо поставить комментарии к каждой строке программы. #include &quot;stdafx.h&quot; #include &quot;conio.h&quot; #include...

Прокомментировать код - C++
нужно описать что делают строки готовой программы #include &lt;iostream&gt; #include &lt;string&gt; #include &lt;cmath&gt; using namespace std; ...

Прокомментировать код - C++
Код писал не я, мне бы разобраться что значит та или иная строка. Буду очень благодарен если вы напишите комментарии к основным строчкам. ...

1
accept
4823 / 3244 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
06.12.2010, 10:52 #2
strtok - string tokens
разделяет строку s на лексемы, разделённые любым символом из delimeters
strtok производит изменение строки, превращая разделители в строке в нуль-символы
когда неразделителей в строке не остаётся, она возвращает NULL

проблемы со strtok() начинаются, когда хочешь две строки одновременно нарезать, так как она хранит что-то вроде статического указателя внутри

Добавлено через 5 минут
C
1
2
3
4
5
6
    result = strtok(s, delimiters);
    while (result) {
        if (result[0] == 'a')
            printf("%s ", result);
        result = strtok(NULL, delimiters);
    }
пока в строке s есть слова, брать слово
брать первую букву слова
если первая буква - 'a', выводить слово

NULL в strtok() означает продолжать работать с той же строкой
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.12.2010, 10:52
Привет! Вот еще темы с ответами:

Прокомментировать код - C++
#include &quot;stdafx.h&quot; #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; typedef unsigned short int word; typedef unsigned int dword; ...

Прокомментировать код - C++
Здравствуйте, хотелось бы спросить у старейшин, что делают каждый из блоков программы, просто самому трудно понять #include &lt;cmath&gt; ...

Прокомментировать код - C++
#include &lt;iostream&gt; using namespace std; static const int N = 1000; int main() { int i, a; for (i = 2; i &lt; N; i++)...

Прокомментировать код - C++
есть код программы, нужно объяснить её программный код. и исправить ошибки.помогите пожалуйста. int dwsp(double* x, double* y); int...


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

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

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