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

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 25, средняя оценка - 4.96
Holsteng
47 / 10 / 3
Регистрация: 26.03.2012
Сообщений: 246
#1

Метод compare string - C++

29.08.2012, 13:29. Просмотров 4073. Ответов 17
Метки нет (Все метки)

Всем привет! Не могу понять в чем у меня ошибка! Применяю метод compare из string, но компилятор выдает ошибку, что мало параметров в функции.
C++
1
2
3
wchar_t name [30];
wstring nameclient;
int comparename = nameclient.compare (  name );
Погуглил нашел,что

C++
1
int compare ( const char* s ) const;
Заранее благодарен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.08.2012, 13:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Метод compare string (C++):

Сравнение двух строк (экземпляры класса string ) задействуя метод compare - C++
Здравствуйте, мне необходимо сравнить два экземпляра класса string, один из экземпляров вводится с клавиатуры, второй экземпляр берется из...

Std::string compare - C++
#include <cstring> #include <iostream> int main() { std::string a = "aa"; std::string b = "ab"; std::cout <<...

Метод find класса string - C++
У меня задание: нужно написать программу, которая находит текст, в файле, показывает номер строки и саму строку, в которой текст находится....

Compare vs == - C++
может вопрос странный, но какая строчка будет работать быстрее? !(*iter1).compare(*iter2) или *iter1 == *iter2

Реализовать метод append для класса String - C++
Для работы со строками можно придумать множество полезных методов (подумайте, какие методы пригодились бы вам и чего вам не хватает для их...

Visual studio не видит метод класса String - C++
Для программы понадобился метод Contanins класса string, когда пишу его в студии, она выдаёт, что такого метода в string нету(has not...

17
Пaтрик
416 / 391 / 39
Регистрация: 21.01.2012
Сообщений: 972
Завершенные тесты: 1
29.08.2012, 13:40 #2
Всё нормально.!
1
Holsteng
47 / 10 / 3
Регистрация: 26.03.2012
Сообщений: 246
29.08.2012, 13:50  [ТС] #3
Не могу подгрузить фото, у меня все равно ошибка
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,545
Завершенные тесты: 3
29.08.2012, 14:43 #4
Holsteng, Компилятор/использование?
1
Holsteng
47 / 10 / 3
Регистрация: 26.03.2012
Сообщений: 246
29.08.2012, 14:49  [ТС] #5
VS 2010

C++
1
int comparename = nameclient.compare ( iteratorclient -> nameclient );
Применяю этот код в цикле, nameclient хранит считанная с Edit строка, а итератором шагаю по list, где хранятся структуры

C++
1
2
3
4
5
6
7
8
9
10
struct Client
    {
    public:
        
        wchar_t nameclient[30];//name client
        wchar_t lastnameclient[30];//lastname client
        wchar_t patronymicclient[30];//patronymic client
        wchar_t addressclient[50];// name street client
        
    };
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,545
Завершенные тесты: 3
29.08.2012, 14:51 #6
Я надеюсь nameclient это wstring? Если да - дожно работать.
1
Holsteng
47 / 10 / 3
Регистрация: 26.03.2012
Сообщений: 246
29.08.2012, 14:57  [ТС] #7
ForEveR, nameclient это wstring, посмотрите фото в архиве.
0
Вложения
Тип файла: 7z ff.7z (19.0 Кб, 7 просмотров)
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,545
Завершенные тесты: 3
29.08.2012, 14:59 #8
Holsteng, Говорит мало аргументов. Смотрите в VS хедерах, что требуется для compare еще.
1
Holsteng
47 / 10 / 3
Регистрация: 26.03.2012
Сообщений: 246
29.08.2012, 15:03  [ТС] #9
Цитата Сообщение от ForEveR Посмотреть сообщение
Смотрите в VS хедерах,
это где?
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,545
Завершенные тесты: 3
29.08.2012, 15:04 #10
Holsteng, Эм... Откройте файл string и ищите там метод compare. Полазейте по хедер-файлам. Хотя странно, что такая ошибка.
1
Holsteng
47 / 10 / 3
Регистрация: 26.03.2012
Сообщений: 246
29.08.2012, 15:13  [ТС] #11
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
    int compare(const _Myt& _Right) const
        {   // compare [0, _Mysize) with _Right
        return (compare(0, this->_Mysize, _Right._Myptr(), _Right.size()));
        }
 
    int compare(size_type _Off, size_type _N0,
        const _Myt& _Right) const
        {   // compare [_Off, _Off + _N0) with _Right
        return (compare(_Off, _N0, _Right, 0, npos));
        }
 
    int compare(size_type _Off,
        size_type _N0, const _Myt& _Right,
        size_type _Roff, size_type _Count) const
        {   // compare [_Off, _Off + _N0) with _Right [_Roff, _Roff + _Count)
        if (_Right.size() < _Roff)
            _Xran();    // _Off off end
        if (_Right._Mysize - _Roff < _Count)
            _Count = _Right._Mysize - _Roff;    // trim _Count to size
        return (compare(_Off, _N0, _Right._Myptr() + _Roff, _Count));
        }
 
    int compare(const _Elem *_Ptr) const
        {   // compare [0, _Mysize) with [_Ptr, <null>)
        _DEBUG_POINTER(_Ptr);
        return (compare(0, this->_Mysize, _Ptr, _Traits::length(_Ptr)));
        }
 
    int compare(size_type _Off, size_type _N0, const _Elem *_Ptr) const
        {   // compare [_Off, _Off + _N0) with [_Ptr, <null>)
        _DEBUG_POINTER(_Ptr);
        return (compare(_Off, _N0, _Ptr, _Traits::length(_Ptr)));
        }
Все что нашел, но не вижу той перегрузки
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,545
Завершенные тесты: 3
29.08.2012, 15:14 #12
Holsteng, Вот она вообщем-то

C++
1
2
3
4
5
int compare(const _Elem *_Ptr) const
        {   // compare [0, _Mysize) with [_Ptr, <null>)
        _DEBUG_POINTER(_Ptr);
        return (compare(0, this->_Mysize, _Ptr, _Traits::length(_Ptr)));
        }
1
Holsteng
47 / 10 / 3
Регистрация: 26.03.2012
Сообщений: 246
29.08.2012, 15:16  [ТС] #13
C++
1
const _Elem *_Ptr
а это как разуметь?
0
ForEveR
В астрале
Эксперт С++
7983 / 4742 / 321
Регистрация: 24.06.2010
Сообщений: 10,545
Завершенные тесты: 3
29.08.2012, 15:21 #14
Holsteng, Посмотреть на typedef-ы в классе.
1
Andsteadur
153 / 137 / 3
Регистрация: 23.05.2009
Сообщений: 275
29.08.2012, 15:22 #15
Здесь _Elem это wchar_t, т.к. wstring это:
C++
1
2
typedef basic_string<wchar_t, char_traits<wchar_t>,
    allocator<wchar_t> > wstring;
Получается для wstring
C++
1
const _Elem *_Ptr == const wchar_t *_Ptr
1
29.08.2012, 15:22
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.08.2012, 15:22
Привет! Вот еще темы с ответами:

Описать функцию Compare - C++
Последняя из 6 задачек (5 осилил, 1 с вашей помощью) Описать функцию Compare(A,B,n), возвразающую 1, если можно преобразовать...

Доступ к паре в map<string, vector<pair<string, string>>>Temp - C++
Подскажите пожалуйста как получить данные в векторе пар ? void showData(const map&lt;string, vector&lt;pair&lt;string, string&gt;&gt;&gt;Temp) { ...

Функция Compare для стандартной сортировки - C++
Имеется стандартная сортировка, использующая функцию mysorted sort(tasks.begin(), tasks.end(), mysorted); Вот один прототип функции...

Что делает функция compare в коде и зачем она нужна в qsort - C++
Объясните, пожалуйста, что делает функция compare (17 строка) в данном случае и зачем она нужна в qsort? #include &lt;stdio.h&gt; ...


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

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

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