Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [C++]Mappa di stringhe

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    148

    [C++]Mappa di stringhe

    Ciao. Sto facendo un'applicazione grafica molto semplice, il problema però non è della parte di interfaccia grafica, ma su una mappa.
    Ho un edit box(casella di testo) e un bottone "OK". L'utente deve inserire delle parole e premere ok, successivamente queste parole devono essere visualizzate sulla finestra.

    Per il salvataggio delle parole uso una mappa del tipo.

    map<WCHAR*, int> m;

    questo perchè i dati che l'edit box mi restituisce sono in questo formato.

    HO dichiarato

    WCHAR text[255]; per salvarci sopra le parole inserite.

    e ogni volta che pesco un dato dall'edito box faccio:

    m.insert(pair<WMCHAR*,int>(text,1));



    Adesso arriva il problema. Nel momento in cui con un iteratore cerco di stampare il contenuto della mappa, mi stampa sempre e solo l'ultima parola inserita. IL problema è che probabilmente nella mappa inserisco l'indirizzo di text e quindi è sempre lo stesso, anche se la stringa contenuta cambia.



    COme risolvo???

  2. #2
    Invece di fare una mappa di WCHAR * fai una mappa di wstring (specializzazione per wchar_t di basic_string, ossia le stringhe standard C++).
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.