copy fuer vectoren



  • Hallo zusammen

    ist es moeglich, bei copy vor jedes element dass ich rausschreiben moechte in ein file einen buchstaben davorschreiben lasse? Also sowas:

    copy(vector.begin(),vector.end(),ostream_iterator<PointN>(file,"v "));
    

    Wenn ich das mache schreibt er vor das erste element kein v, dafuer aber nach dem letzten element nochmal. Gibt es einen Befehl so dass er es gleich bei Begin schon ausfuehrt und nicht erst nach dem ersten Element?



  • Afaik gibt es da nichts, ohne zusätzlichen Aufwand betreiben zu müssen.
    Du kannst es halt so machen:

    file << "v ";
    std::copy(vec.begin(),vec.end()-1,std::ostream_iterator<PointN>(file,"v ");
    file << vec.back();
    

    oder aber du schreibst dir deinen eigenen ostream_iterator der das immer vorher ausgibt anstatt hinterher, was aber noch aufwändiger wäre, es sei denn das du das öfters brauchst als nur einmal brauchst.

    BR
    evilissimo



  • Dankeschoen, werds gleich mal ausprobieren.


Anmelden zum Antworten