CString Problem
-
Interessant wäre, wie du die Daten aus der Datei an str übergibtst.
-
Wesley67 schrieb:
Interessant wäre, wie du die Daten aus der Datei an str übergibtst.
ich habe eine Klasse mit ein paar member variable mit type int , float und char*. Ich speichere diese Klasse in eine .dat FILE. Bei Auslesen bekomme ich zuerst diese gespeicherte Klasse, dann kann ich auf die Daten zugreifen. Mit cout in Cosole kann ich alle Memeber variable ausgeben.
Was meinst hier das Übergeben?
ich schreibe noch deutlicher:
CString str;
char* strAusPlatte; //das kann ich richtig in Cosole anzeigen.
str.Format("%s", strAusPlatte);Kannst du mir noch erläuten? Danke
-
lqun schrieb:
CString str; char* strAusPlatte; //das kann ich richtig in Cosole anzeigen. str.Format("%s", strAusPlatte);
Steht das so in deinem Quellcode?
Dann ist klar, warum es nicht geht, denn du hast da einen uninitialisierten char*.Anmerkung: Ich glaube, für das, was du machen willst, würde sich Serialierung (Serialize) anbieten.
-
estartu_de schrieb:
lqun schrieb:
CString str; char* strAusPlatte; //das kann ich richtig in Cosole anzeigen. str.Format("%s", strAusPlatte);
Steht das so in deinem Quellcode?
Dann ist klar, warum es nicht geht, denn du hast da einen uninitialisierten char*.Anmerkung: Ich glaube, für das, was du machen willst, würde sich Serialierung (Serialize) anbieten.
Danke dir.
ich hätte noch deutlicher schreiben sollen.CString str; char* strAusPlatte = myKlass.GetStrFromPlatte(); //das kann ich richtig in Cosole anzeigen. str.Format("%s", strAusPlatte);//das sieht chaotisch aus in Edit Control aus CString str1; int intAusPlatte = myKlass.GetIntFromPlatte(); str1.Format( "%d", intAusPlatte);//das funktioniert gut
Mein Problem ist warum das anzeigen nur bei char* nicht geht, und wie ich das problem beheben.
Erwarte wietere Hilfe!
-
Der möchtegern Diktator hat gesprochen!
lqun schrieb:
Erwarte wietere Hilfe!
Also kniet vor ihm nieder und präsentiert ihm den fertigen Source auf goldenem Tablet!
-
lqun schrieb:
Erwarte wietere Hilfe!
Vorsicht mit solchen Sätzen.
Erst muss man dir jede Zeile aus der Nase ziehen und dann tust du auch noch so, als wären hier alle nur für dich da.Es wäre noch sehr interessant, wie der String aussehen sollte und wie er aussieht.
Außerdem fehlt noch, wie du den String in das Editcontrol kriegst.
Ist der String auch ordentlich nullterminiert?
Schau dir auch mal die Konstruktoren von CString in der MSDN an.
-
estartu_de schrieb:
lqun schrieb:
Erwarte wietere Hilfe!
Vorsicht mit solchen Sätzen.
Erst muss man dir jede Zeile aus der Nase ziehen und dann tust du auch noch so, als wären hier alle nur für dich da.Es wäre noch sehr interessant, wie der String aussehen sollte und wie er aussieht.
Außerdem fehlt noch, wie du den String in das Editcontrol kriegst.
Ist der String auch ordentlich nullterminiert?
Schau dir auch mal die Konstruktoren von CString in der MSDN an.Der String sollte wie normal aussehen. Jetzt sieht er ähnlich wie "_ÃæhýSTù" aus.
Dieser editcontrol hat einen CString variable, das stellt ordentlich int, float dar. Ich denke, das problem liegt nicht daran.
-
Komisch hab glaub das "Entschuldigung war nicht so gemeint überlesen" nein dass du so einen Müll bekommst liegt nicht an dem Editcontrol und der Variablen Typ passt schon auch, aber zeig doch mal bitte her was Estartu_de dich gebeten hat zu zeigen, wenn du nichts zeigen willst kann man dir trotz deiner netten Art nicht helfen!
Schau mal ob deine Strings richtig initialisiert sind und schau mal im Debug mit nem Breakpoint in dein char* ob dein Wert da überhaupt richtig ankommt. Ich glaube kaum dass es am String liegt!
-
Antwortest du immer nur auf die erste von mehreren Fragen?
Der Datenmüll weist auf einen nicht initialisierten Zeiger hin.Wenn dein Code so geheim ist, dass du ihn niemandem zeigen kannst, dann frag beim FBI.
-
Wofür hast du überhaupt eine Char-Zeiger.
Auf was soll der Zeigen?
Wurde dafür Speicher reserviert?
-
Ich habe das Problem gelöst mit strcpy, es war Speicherproblem.
Als ein ausländischer Student verstehe ich manchmal Deutsch nicht so gut. Ich weiß auch nicht, daß manche Deutsche Sätze eine andere Wirkung haben.
Als ich die Frage stellte, hatte ich meinen Code nicht dabei. Aber trotzdem habe ich den Algorithmus gezeigt, nur die Namen von den Variablen stimmen nicht.
Also herzlich vielen Danke für eure Hilfe!
-
CString str; CString dasstringausFestplatte=“irgendwas steht drin“; str.Format= dasstringausFestplatte;
CString-Copy Operator und fertig.
Warum geht es nicht so?
-
str=dasstringausFestplatte;
soory so meinte ich es.