Stringstream-Probleme
-
Hi,
ich habe ein char-Array gegeben und möchte das in einen string packen. Da ich nicht weiss wie lang das Array ist, nehme ich einen stringstream und "schiebe" es vorher dort rein.
stringstream HStrg; string DBStrg; unsigned char *Data; //beliebige Länge; schliesst ab mit '\0' . . . DBStrg = "Insert into BisTab set DBTime = current_timestamp, Error_Msg = '"; while ((*Data) != 0) { HStrg << (char)(*Data); Data++; } DBStrg += HStrg.str() + "'"; HStrg.seekp(0); . . .
Der Teil von HStrg müsste so aussehen:
ERROR |04/12/2005 10:03:33|[...]
Wenn ich bei erstmaliger Ausführung dann DBStrg ausgeben lasse, dann steht auf dem Part von HStrg ein Teil von einem Eintrag in eine Datei, den ich davor irgendwann mit fwrite gemacht habe.
ERRO50m:34s,296ms => [...]
Kann mir jemand sagen, wie ich das verhindern kann?
Wenn ich seekp noch vor den ganzen Block setze, dann bleibt HStrg leer.Danke.
-
So, ich ziehe alles zurück, der Fehler liegt in der Quelle, wo mein char-Array herkommt.