ostringstream /atl/com



  • hallo,

    folgendes problem ist aufgetaucht, an dem ich gerade nage:

    ich schreibe char-weise daten in einen ostringstrem

    char ch;
    in.get(ch); // ifstream in
    f.put(ch);  //ostringstream f
    

    den auf diese weise erzeugten ostringstream moechte ich dann in eine ofstrem, also eine datei, schreiben.

    fileout << f.str(); //ofstrem fileout
    

    sehr simpel und funktioniert auch - als consolen-application. nur benoetige ich dies in meinem com-objekt (mein erstes, desswegen ratlos).

    der fehler ist, dass in der ueber den ofstream geschriebenen datei nicht der komplette ostringstream vorhanden ist, sondern nur ein abgeschnittener, nicht vollstaendiger.
    f.str().size() gibt jedoch die richtige laenge des originalstreams aus.

    mein loesungsansatz ist nun, dass nicht alles ausgegeben wird, da in meinem ostringstream eventuell ein /0 /n vorhanden ist und der abschneidet - kann das sein und wenn ja wie bekomme ich meinen ostringstream dazu alles in den ofstream zu schreiben ohne abzuschneiden (auch /0 und /n brauche ich).

    in meiner test-standard-consolen-application funktioneirt alles einwandfrei (gleicher code copy&paste) und der gesamte stream wird in die datei geschrieben - liegt vielleicht auch an den atl - konvertierungen ?!?!?

    da dies mein erstes com-objekt ist, dass ich schreibe, bin ich im moment ziemlich ratlos und freue mich ueber jeden vorschlag ...

    besten dank

    simon


Anmelden zum Antworten