istream_iterator und ios::binary



  • Hi!

    Ich habe eine Situation in der ich einen istream_iterator<char>(ifstream) in einen ostream_iterator<char>(ofstream) kopieren muss. Die Datei ist Binär.

    Versucht habe ich das so:

    ifstream file("c:\\1.dmp",ios::binary);
        ofstream file2("c:\\kb1.dmp",ios::binary);
    
        istream_iterator<char> begin(file);
        istream_iterator<char> end;
        ostream_iterator<char> out(file2);
        copy(begin,end,out);
        return 0;
    

    Das klappt aber nicht da bei einer Textdatei z.B. die Zeilenumbrüche fehlen.
    Kann man das irgendwie drehen das ich einen iterator bekomme der nichts verschluckt ?

    thx



  • Teil!

    Ich habe eine Situation, in der eine ich istream_iterator<char >
    (ifstream) in ostream_iterator<char kopieren muß > (ofstream). Die
    Akte ist binär.

    I folglich geprüft dem:

    ifstream Akte ("c:\\1.dmp", ios::binary); ofstream file2
    ("c:\\kb1.dmp", ios::binary);
    
        istream_iterator<char > fangen Sie an (Akte); istream_iterator<char >
    beenden; ostream_iterator<char > heraus (file2); Kopie (fangen Sie an,
    zu beenden, heraus); Rückkehr von Auto 0;
    

    Drehte diese Falte jedoch
    mit einer ex Textakte p die radikalen Änderungen der Linie nicht
    beraubte dort Dose in gewissem Sinne oder andere um, die mit, welchen
    von jenen iterator blockiertes nichts erreichen?

    thx



  • Rückseite! Ich habe eine Situation, in der I man istream_iterator<char > (ifstream) in ostream_iterator<char kopieren muß > (ofstream). Die Akte ist binär. Ich prüfte den, wie folgt: ifstreamakte ("c:\\1.dmp ", ios::binary); ofstream file2 ("c:\\kb1.dmp ", ios::binary); istream_iterator<char > fangen Sie an (Akte); istream_iterator<char > zum Ende; ostream_iterator<char > heraus (file2); Kopie (fangen Sie an, Ende zu nehmen, heraus); Rückkehr 0; dieses Falten mit einer Textakte P., z.B., welches die radikalen Änderungen der Linie nicht jedoch dort vermißt. kann sie die auf die eine oder andere Weise drehen, zu der ich iterator blockiertes nichts erreiche? thx



  • 😕



  • 🙄

    die ferien haben angefangen...



  • nö :p :p



  • Hi!

    Ob die Ferien angefangen haben oder nich interessiert mich auf der Arbeit nicht ;o)

    Ich hab das Problem gefunden, ich hab die falschen Iteratoren verwendet.
    Mit

    ifstream file("c:\\1.dmp",ios::binary);
        ofstream file2("c:\\kb1.dmp",ios::binary);
    
        istreambuf_iterator<char> begin(file);
        istreambuf_iterator<char> end;
        ostreambuf_iterator<char> out(file2);
        copy(begin,end,out);
        return 0;
    

    funktioniert es. (istream_iterator liest mit >> ein)

    Wenn man das so auch nich machen kann wär ne info nett:)


Anmelden zum Antworten