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

Объясните код - C++

Восстановить пароль Регистрация
 
Mexanich
0 / 0 / 0
Регистрация: 03.06.2013
Сообщений: 7
24.06.2013, 19:25     Объясните код #1
Объясните, пожалуйста, как работает функция Find и для чего там if (str&&fnd)
И еще, как работает в выводе знак вопроса и две точки уже в main()


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
#include <string>
#include <iostream>
using namespace std;
 
bool Find(const char * str, const char * fnd);
 
int main()
{
    char str[] = "This is input text as test";
    char fnd1[] = "text";
    char fnd2[] = "input";
    cout<<strstr(str,fnd1)<<endl;
    cout<<"Input string : \n"<<str<<endl;
    cout<<"Str1 for find: "<<fnd1<<" : "<<(Find(str, fnd1) ? "is present in text" : "is absent in text")<<endl;
    cout<<"Str2 for find: "<<fnd2<<" : "<<(Find(str, fnd2) ? "is present in text" : "is absent in text")<<endl;
    system("PAUSE");
    return 0;
    
}
 
bool Find(const char * str, const char * fnd)
{
    bool bExist = false;
    if(str && fnd)
        bExist = strstr(str, fnd) != 0;
    return bExist;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.06.2013, 19:25     Объясните код
Посмотрите здесь:

C++ объясните код
C++ Объясните код
C++ Объясните код
C++ Объясните код
C++ Объясните код
C++ Объясните код
Объясните код C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
FireProoF
17 / 17 / 1
Регистрация: 28.10.2012
Сообщений: 190
24.06.2013, 19:37     Объясните код #2
if(str && fnd) - условие на существование сразу двух объектов типа char*
strstr(sring1, string2) - Функция strstr возвращает указатель на string1, если
string1 обнаружена, и NULL - если string1 нет.

Find(str1,str2) ? "Text1" : "Text2"; - Если функция вернула true, то вывести Text1, если false - Text2
Yandex
Объявления
24.06.2013, 19:37     Объясните код
Ответ Создать тему
Опции темы

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