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

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

Войти
Регистрация
Восстановить пароль
 
BuGi
24 / 24 / 1
Регистрация: 02.01.2012
Сообщений: 371
#1

std::map insert, нужно ли? - C++

22.07.2013, 03:02. Просмотров 817. Ответов 4
Метки нет (Все метки)

C++
1
2
3
4
5
6
7
8
9
ifstream input("data.txt");
    string tmp;
    while(getline(input,tmp))
    {
        data d = getData(tmp);
        login[d.login]++;
        pass[d.pass]++;
    }
    input.close();
Вот так писал я все время, но внезапно заметил, что некоторые данные не добавляются в map.
Возможно такое из-за того, что обращаюсь к несуществующему еще элементу first? Возможно стоит делать через nsert и все будет хорошо?

Добавлено через 6 минут
Переписал часть кода и многое заработало, но я не уверен, что все правильно.
Есть код
map<string,int> login,pass;
Как мне через insert увеличить value?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.07.2013, 03:02     std::map insert, нужно ли?
Посмотрите здесь:

Std::map insert in while - добавление новых элементов в цикле - C++
Задача - обьявить мапу, обьявить цикл и в цикле сначало проверять(если оно есть) содержимое мапы а потом добавлять после добавления...

std::map не компилируется - C++
Всем здравствуйте. Возникла проблема при попытке использования std::map в visual studio 2010. при подключении файла &lt;map&gt; и объявлении...

Размерность std::map - C++
Добрый вечер. Использую тип данных 16 байтовый. Надо записать несколько десятков миллионов расчетов в map &lt;type, type&gt; val; C...

Std::map::emplace - C++
То ли я туплю/криво поставил компилятор, то ли это emplace синтаксис кривой, но... Как использовать emplace применительно к map со...

Std::map и key_comp - C++
Есть задача, нужно задать в map класс для сравнения ключей, но классу для сравнения нужен ещё один вспомогательный елемент. Ну вот...

Особенности std::map - C++
Добрый день форумчане, хотел спросить такую вещь, сейчас занимаюсь оптимизацией в графическом движке и возникла такая проблемма, хочу...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
22.07.2013, 03:12     std::map insert, нужно ли? #2
login[stringKey]++ должно работать. Вы считаете количество вхождений?
BuGi
24 / 24 / 1
Регистрация: 02.01.2012
Сообщений: 371
22.07.2013, 03:15  [ТС]     std::map insert, нужно ли? #3
Да, но многое тупо отбрасывается.
У меня есть популярные слова, так они нормально считаются, а вот другие в список почему-то не попадают
Vladimir.
155 / 155 / 10
Регистрация: 24.11.2009
Сообщений: 375
22.07.2013, 03:37     std::map insert, нужно ли? #4
data и getData() в студию. Какой формат у фаила - что используется в качестве разделителей? Лишних пробелов нет?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.07.2013, 04:54     std::map insert, нужно ли?
Еще ссылки по теме:

Чем плох std::map? - C++
std::map ?

std::map в инлайн-асме - C++
Доброго времени суток Имеется MAP-массив содержащий хуки для функций Нужно получить соответствующий адрес в naked функции: ...

Доступ к элементам в std::map - C++
У меня возник вопрос. В этом участке кода, есть два цикла, которые выводят содержимое контейнера std::map и вывод идентичен. Рационально...

Зачем нужен std::map - C++
Почитал информацию об этом классе, но так и не понял, зачем он нужен?

Сортировка std::map по значению - C++
имеется вот такой вот тип: typedef struct { char domain; set&lt;uint32_t&gt; unique_ip; set&lt;uint32_t&gt; unique_id; } REF_LOG; ...

std::map и перегрузка оператора - C++
решил освоить стандартные контейнеры и очередь за &quot;map&quot; нахожу на http://en.cppreference.com/w/cpp/container/map замороченный код,...


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

Или воспользуйтесь поиском по форуму:
BuGi
24 / 24 / 1
Регистрация: 02.01.2012
Сообщений: 371
22.07.2013, 04:54  [ТС]     std::map insert, нужно ли? #5
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
struct data
{
    string login;
    string pass;
};
 
data getData(string str)
{
    data out;
    string::size_type i = str.find("@");
    str = str.substr(i+1);
    i = str.find(";");
    out.login = str.substr(0,i);
    out.pass = str.substr(i+1);
    ::transform(out.login.begin(), out.login.end(), out.login.begin(), ::tolower);
    return out;
}
Никаких лишних символов, уже прочекано 100500 раз. Вот только что переписал под qt (QMap) и все нормально, но там сортировку нужную мне не нашел, да и вопрос не снимается

Добавлено через 4 минуты
Тоочно! У меня потом переворачивается мэп, из-за этого ключи заменяются. Надо вне мэпа отсортировать и вывести.

Но была ошибка, когда я пытался сортировать немного другой мэп из файла размером около 300 мб, так ничего не вышло. Когда разбил на несколько частей, то все нормально. В чем там проблема была? Памяти должно было хватить
Yandex
Объявления
22.07.2013, 04:54     std::map insert, нужно ли?
Ответ Создать тему
Опции темы

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