String->#define



  • Hi,

    ich habe folgendes Problem:

    ich habe folgende #defines:
    #define z1d 14
    #define z2d 15
    #define z3d 16
    #define z4d 17
    #define z5d 18
    ...usw.

    aus einer Datei lese ich mir Werte in einen 'CString Schluessel'.
    Wenn dieser Wert z.B. "4d 3.234" ist, möchte ich gerne 3.234 an der Stelle z4d in ein 'CStringArray werte' eintragen und zwar unter werte[zd4].
    Jetzt weiß ich aber nicht, wie ich den CString so wumwandele, dass daraus der Bezeichner z4d wird.
    Hoffe, mir kann jamand weiterhelfen. Schon mal Danke im voraus.

    Ric



  • eventl. mit ner map ?

    std::map<std::string, float> werte
    

    dann kannste so auf den float zugreifen

    werte["z4d"]
    


  • Ist mit CString die MFC-String-Klasse gemeint? Wenn ja versuchs mit der Methode FormatV, ist sehr ähnlich zu vsprintf() - im Notfall in der MSDN schauen, da müsste auch was stehen.

    Wenn du damit deine eigene String-Klasse meinst und grundsätzlich C vor Klassen schreibst musst du selber etwas implementieren (zB mit StringStreams (siehe FAQ "Einmal String nach Zahl und zurück")

    MfG SideWinder


Anmelden zum Antworten