C++Builder
  Начало   Форум   Помощь Войти Регистрация  
Страниц: [1]   Вниз
  Печать  
Автор Тема: Сортировка в контейнере STL map  (Прочитано 1173 раз)
SilverFish
Участник


Сказали спасибо: +14/-6
Offline

Сообщений: 786


Сортировка в контейнере STL map
« : 30 Апрель 2014, 10:20:16 »

В контейнере map находяться значения строка-строка
17:45:00 - file1.mp4
17:47:00 - file2.mp4
и т.д.
Первая колонка отвечает за время.
Когда я вставляю новое значение в этот контейнер, я предполагаю что оно будет вставлено в правильную позицию.
IniContent это контейнер map с уже вставленными значениями. Теперь в 9 утра вставляю новое значение:
Код
TDateTime T(Now());
String temptime = T.TimeString();
//вставляем в map временное значение. Поскольку map сортирует автоматом время
//будет вставлено в правильную позицию
IniContent[temptime] = L"TEMP";

Предполагаю, что значение будет вставлено в первую позицию т.к. map сортирует автоматом вставку. Однако код ниже показывает, что вставленное значение оказывается не на первом месте, а на последнем. Почему и как исправить?
Код
 String S = "";
 while(It != IniContent.end())
 {
  S += ((*It).first + " - " +  (*It).second) + "\n";
  It++;
 }
 ShowMessage(S);
 
Записан
SilverFish
Участник


Сказали спасибо: +14/-6
Offline

Сообщений: 786


Re: Сортировка в контейнере STL map
« Ответ #1 : 30 Апрель 2014, 10:49:47 »

Похоже вот так надо исправить вставку:
Код
TDateTime T(Now());
String temptime = T.FormatString(L"hh:nn:ss");
IniContent[temptime] = L"TEMP";
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  




....

Powered by SMF 1.1.21 | SMF © 2025, Simple Machines
Страница сгенерирована за 0.091 секунд. Запросов: 22.