Re: CMapStringToString und Lookup Problem

Tech-Archive recommends: Repair Windows Errors & Optimize Windows Performance



Enrico Straube schrieb/wrote:
Am Tue, 07 Nov 2006 21:54:47 +0100 schrieb Ulrich Eckhardt:
Enrico Straube wrote:
ich versuche aus einer CMapStringToString mir meine Daten wieder zurück zu holen. Leider ist nach dem Lookup nichts im Value. Woran kann dies liegen?

Hier etwas Code:

CStringList func_list;
CMapStringToString func_map;
...
GenerateFunction(readfile); // erzeugt func_map
...
GenerateFunctionList(); // erzeugt func_list
...
while (!func_list.IsEmpty())
{
CString Key;
CString Value;

Key = func_list.GetTail();
func_map.Lookup(Key, Value);

_fputts(Value, of); // FUNCTION schreiben
Und der Wert von 'Key'?

wird aus der func_list geholt. Diese Liste wird aus einer Text-Datei
erzeugt, also einfach eine Textdatei einlesen und in diese Liste
geschrieben.

func_list.RemoveTail();
}
Vorschlag: Du machst einmal ein Beispiel welches sich compilieren laesst

ist schlecht möglich im Moment. Alle String-Werte werden aus irgendwelchen
Textdateien eingelesen, also auch die Map. Allerdings sind die Textdateien
für die Liste und die Map verschiedene. Vielleicht hilft diese Information
weiter. Die Textdateien sind eigentlich keine Unicode-Dateien, muß aber
nicht sein.


Ich vermute mal, dass der Schlüssel einfach nicht in der Map ist, jedenfalls nicht so, wie du ihn abfragst. Dafür kann es ziemlich triviale Ursachen geben. Ein typischer Kandidat ist Groß-/Kleinschreibung. Ein anderer sind Leerzeichen am Ende.

Um es kurz zu machen: Die Map funktioniert normalerweise. Wenn du einen Fehler hast und Hilfe möchtest, dann musst du ein Beispiel produzieren, dass uns das Problem nachvollziehen lässt. Meistens findet man dabei allerdings selber die Lösung des Problems.

Viele Grüße
Claus
.



Relevant Pages

  • Re: Hashes in REXX bzw. Limits von REXX Symboltabellen
    ... ich verwende manchmal in O-REXX den Hack, die eingebaute Symboltabelle als Map zu missbrauchen. ... Also man nehme einen Stamm und packe den Key dahinter: ... Und dann weist man der Variablen mit VALUE() einen Wert zu. ...
    (de.comp.os.os2.programmer)
  • Re: Effizient Keys in einer Map tauschen
    ... Einfach einen Value vx lesen, den Value vy lesen, der bei dem Key steht, ... zu dem Value vx nun gehören soll, das Paar ky/vx in die Map speichern... ... einen Array umsortieren wolltest... ... Key lauten soll. ...
    (de.comp.lang.java)
  • Re: CMapStringToString und Lookup Problem
    ... Leider ist nach dem Lookup nichts im Value. ... Diese Liste wird aus einer Text-Datei ... Textdateien eingelesen, also auch die Map. ...
    (microsoft.public.de.vc)
  • Re: Methoden richtig schreiben
    ... Returns true if this map contains a mapping for the ... specified key. ... Nehmen wir eine Map zum Beispiel. ... Object value = map.get; ...
    (de.comp.lang.java)