Z bazy wyłuskuję liste towarów posortowanych alfabetycznie i zapisuje do kontenera MAP (klucz pierwszy - nazwa typu string, klucz drugi - nr typu int).
W trakcie wyłuskiwania tych elementów z kontenera MAP zmienia mi kolejność pobieranych elementów, gdyż w nazwie czasami sa użyte duzę litery w drugim lub jego trzecim członie.
Np.
- Piłka nożna footbs1
- Piłka nożna Footbs2
W trzecim członie jest użyta raz duża litera, raz mała. Nie mam na to wpływu, użytkownicy różnie to zapisują.
Zapytanie sql to ignoruje i zapisuje do kontenera MAP bez uwzględnienia dużych liter.
Czyli po uruchomieniu zapytania sql mam poprawną kolejność wg. alfabetu:
- Piłka nożna footbs1
- Piłka nożna Footbs2
Kiedy jednak wyłuskuję z kontenera MAP - standardowa iteracja :
for (Lista::const_iterator ci = siList.beginn(); ci !=siList.End; ci++),
uwzględnia on duże litery w trzecim członie i najpierw pobiera "Piłka nożna Footbs2", a później "Piłka nożna footbs1 ". Efektt to zmiana kolejności:
- Piłka nożna Footbs2
- Piłka nożna footbs1
Żeby to skorygować musze uruchomić dodatkową funkcję sortującą.
Jednak wolałbym jej nie uruchamiać.
Czy istnieje jakiś sposób, by kontener ignorował duże litery w trakcie iteracji, tak jak to robi zapytanie sql?