2017-07-09 1 views
-1

Ich studiere Dateiverarbeitung in C++, aber ich kann den Unterschied zwischen ios :: app und ios :: noreplace Modi nicht sehen. Freundlich helfen.Was ist der Unterschied zwischen den Modi ios :: app und ios :: noreplace in der Dateiverarbeitung?

Hinweis: ios :: noreplace ist ein Nicht-Standard-Modus in einigen älteren Versionen, aber ich bin neugierig darauf zu wissen!

+2

Ich glaube nicht, dass es etwas 'ios :: noreplace' in Standard C++ genannt wird. Das wäre also ein Unterschied. –

+0

http://en.cppreference.com/w/cpp/io/ios_base/openmode - noch nie von 'ios :: noreplace' gehört. –

+0

Verwandte, aber nicht ganz ein Duplikat: https://stackoverflow.com/questions/9251581/c-substitution-of-iosnoreplace – templatetypedef

Antwort

1

IIRC ios::noreplace war ein nicht standardmäßiger Teil einer alten Version der MS-Laufzeitbibliothek. Es ist kein Standard-C++, daher gibt es zunächst einen Unterschied.

Der andere Unterschied ist, dass ios::noreplace nicht anfügt: Es schlägt einfach fehl, wenn die Datei vorhanden ist (daher der Name nicht ersetzen) und öffnet es nur, wenn es nicht an erster Stelle existierte. ios::app öffnet die Datei wenn vorhanden oder erstellt eine neue und sucht vor jedem Schreibvorgang das Ende.

+0

Gotcha..danke! –

+0

PalakJain Die entsprechende Sache zu tun in SO Verhalten wäre die Antwort zu akzeptieren, dass @Fozi Ihnen zur Verfügung gestellt. „Danke“ geschätzt wird, aber die ‚akzeptiert‘ ist die richtige Sache zu tun. –

Verwandte Themen