Cstring an einen anderen anhängen
-
Klingt einfach aber ich komme momentan nicht weiter. Ich lasse über einen Dialog den User einen Pfad für eine Bibliothek eingeben. Diesen schreibe ich ich eine CString Membervariable. Danach wird der Name der Bibliothek eingegeben und auch in eine CString Membervariable geschrieben. Jetzt versuche ich die beiden Strings folgendermaßen zu verkuppeln:
CString PathOfLib; PathOfLib = m_strLibDir + "\\" + m_strLibrary;Allerdings wird nur die Variable m_strLibDir in den String PathOfLib geschrieben. Das "\" und m_strLibrary werden ignoriert. Woran liegt das?

-
Schonmal eine Debug gemacht?
-
Unix-Tom schrieb:
Schonmal eine Debug gemacht?
Keine Fehler, keine Warnungen.
-
versuch mal
CStrting m_strLibNeu; m_strLibNeu = Format(_T("%s\\%s"), m_strLibDir, m_strLibrary);
-
Uruk-h4j schrieb:
versuch mal
CStrting m_strLibNeu; m_strLibNeu = Format(_T("%s\\%s"), m_strLibDir, m_strLibrary);Wenn ich das Wörtlich übernehme dann kommt eine Fehlermeldung:
error C3861: 'Format': identifier not found
-
sry..mein fehler.
m_strLibNeu.Format(_T("%s\\%s"), m_strLibDir, m_strLibrary);
-
Uruk-h4j schrieb:
sry..mein fehler.
m_strLibNeu.Format(_T("%s\\%s"), m_strLibDir, m_strLibrary);Ja das funktioniert. Aber wo ist nu der Unterschied?
Und ich habe noch eine Frage. Ich schreibe eine "Menge" Strings in eine Variable um diese als Textdatei abzuspeichern. Wenn ich nun einen Pfad in den String übernehme, ist dass das letzt was in die Variable geschrieben wurde. Alles was danach noch kommen sollte ist weg.

-
Ich denke dieses Problem hatte ich die Tage auch. Hier im Boad wurde mir dann geholfen:
http://www.c-plusplus.net/forum/viewtopic-var-p-is-1340945-and-highlight-is-.html#1340945
-
Ehlich? Ich arbeite immer so mit strings. Dieses ""+""+"" ist mir zu unübersichtlich

Vllt. solltest du dir mal die CString-Befehle zu gemüte führen. vor allem solche wie Mid(), Format(), GetLength() und dergleichen. Das sind interessante und hilfreiche funktionen für CString (und es gibt noch meht
).
-
Versuch mal:
CString PathOfLib; PathOfLib = m_strLibDir + _T("\\") + m_strLibrary;Wenn das nicht geht
CString PathOfLib; PathOfLib = m_strLibDir + CString(_T("\\")) + m_strLibrary;muss es auf jeden Falll tun.
-
müsste doch auch mit append() funktionieren?!?
-
jj schrieb:
müsste doch auch mit append() funktionieren?!?
CString verfügt aber über keine Methode namens append(). Wozu auch? Dafür ist ja der operator += da.
-
append() nicht aber "Append()" gibts fuer CStringT allerdings
-
Danke für die vielen Antworten. Weiß auch nicht was da schief gelaufen ist. Hab dann alles in ein CStringArray geladen um es dann Element für Element wieder auszulesen. Das hat funktioniert.