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

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

Войти
Регистрация
Восстановить пароль
 
behollder
46 / 27 / 7
Регистрация: 23.01.2013
Сообщений: 122
Завершенные тесты: 1
#1

Map stl - C++

11.02.2013, 20:00. Просмотров 750. Ответов 8
Метки нет (Все метки)

Не могу понять, почему не находит через h1.find(argv[1]). когда argv[1] == "-o"
vs пишет "itr = (0xcdcdcdcd <Ошибка при чтении символов строки.>, true (205))"
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
int main(int argc, char** argv)
{
    std::map<char*, bool>h1;
    h1.insert(pair<char*, bool>("-o", true));
    h1.insert(pair<char*, bool>("-a", false));
    std::map<char*, bool>::const_iterator itr;
    //itr = h1.find("-o"); // работает
    //itr = h1.find(argv[1]); // не работает
    if(itr != h1.end())
        cout << itr->first << "\n" << itr->second;
    else cout << "Not found";
 
    _getch();
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2013, 20:00     Map stl
Посмотрите здесь:

STL map - C++
Вопрос:как мне узнать что не создавался map с заданым str? #include &lt;iostream&gt; #inlclude &lt;map&gt; #include &lt;string&gt; using namespace...

stl map - C++
где можно прочитать о stl map? подскажите книги..

STL :: map - C++
Столкнулся с такой проблемой: Нужно вставить в отсортированную map-таблицу элемент. Использую: myMap.insert(myIterator,pair&lt;type1,...

Вопрос об map STL - C++
Как вивести map? list&lt;int&gt; l; for (int i=1; i&lt;=5; i++) l.push_back(i); map&lt;int,list&lt;int&gt;&gt; a; int d = 9; int f = 5; ...

Не могу разобраться с map(STL) - C++
Недавно понадобилось использование ассоциативного массива map(STL), дабы сократить код программы. Но возникли сложности. В кратце в...

STL. Map, vector. Строки - C++
Здравствуйте. Почти не знаком с STL. Имеется вектор строк. Нужно найти частоту использования каждой буквы. Я уже который...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vourhey
Почетный модератор
6477 / 2252 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
11.02.2013, 20:01     Map stl #2
Цитата Сообщение от greenlight Посмотреть сообщение
char*
указатель, а не строка. Ищешь ты не содержимому строки, а по адресу, что в указателе, подозреваю.
Wolkodav
602 / 455 / 32
Регистрация: 18.09.2012
Сообщений: 1,685
11.02.2013, 20:43     Map stl #3
Это вообще говоря странно, а вы там точно передаёте аргумент в argv? Проверьте перед вызовом find argv[1]
Toshkarik
1140 / 857 / 51
Регистрация: 03.08.2011
Сообщений: 2,384
Завершенные тесты: 1
11.02.2013, 21:06     Map stl #4
Потому что char * это указатель а не строка. Используйте std::string.
Jupiter
Каратель
Эксперт С++
6553 / 3973 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
11.02.2013, 21:09     Map stl #5
Цитата Сообщение от Toshkarik Посмотреть сообщение
Используйте std::string
или компаратор
behollder
46 / 27 / 7
Регистрация: 23.01.2013
Сообщений: 122
Завершенные тесты: 1
11.02.2013, 22:14  [ТС]     Map stl #6
Всем спасибо. Я понял.
Герц
524 / 341 / 4
Регистрация: 05.11.2010
Сообщений: 1,077
Записей в блоге: 1
12.02.2013, 00:29     Map stl #7
И забудь про строки в форме char*, раз уж пользуешься такими высокоуровневыми абстракциями, как map.
Mиxaил
533 / 438 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
12.02.2013, 01:00     Map stl #8
и лучше использовать std::make_pair() .
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.02.2013, 04:26     Map stl
Еще ссылки по теме:

Примеры алгоритмов для STL map - C++
Помогите пожалуйста. Начал делать лабораторную работу. Суть задания: реализовать для map 5 алгоритмов sort, copy, none_of, find_if,...

STL(map). Где инициализировать массив? - C++
Для начала: не получалось данную тему назвать более логично, сайт не пропускал :-| Добрый день. Имеется: map&lt;int, string&gt;...

Map STL - максимальный объем памяти - C++
Пишу модуль для программы - что-то вроде переводчика. Есть словарь синонимов (40+мб). Загружаю его в map, но после 740000+ ключа,...

Map stl c++ ссылка на неразрешенный внешний символ - C++
Уважаемые форумчане, столкнулся с проблемой вставки объекта класса как параметр в контейнер map. Привожу ниже код как пытался сделать....


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

Или воспользуйтесь поиском по форуму:
kravam
быдлокодер
1693 / 880 / 44
Регистрация: 04.06.2008
Сообщений: 5,438
12.02.2013, 04:26     Map stl #9
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <map> 
#include <utility> 
#include <string> 
#include <iostream> 
#include <stdio.h> 
using namespace std;
 
 
int main(int argc, char** argv)
{
    std::map<string, bool>h1;
    h1.insert(pair<string, bool>("-o", true));
    h1.insert(pair<string, bool>("-a", false));
    std::map<string, bool>::const_iterator itr;
    //itr = h1.find("-o"); // работает
    itr = h1.find(argv[1]); // не работает
    if(itr != h1.end())
        cout << itr->first << "\n" << itr->second;
    else cout << "Not found";
 
    getchar();
    return 0;
}
Yandex
Объявления
12.02.2013, 04:26     Map stl
Ответ Создать тему
Опции темы

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