ios::nocreate
-
Warum funktioniert das bei mir nicht?
#include <iostream> #include <fstream> using namespace std; int main() { ofstream FILE("D:\Hans.txt",ios::nocreate); return 0; }Compiling: C:\MinGW\Andi\datein.cpp
C:\MinGW\Andi\datein.cpp:7:19: warning: unknown escape sequence '\H'
C:\MinGW\Andi\datein.cpp: In functionint main()': C:\\MinGW\\Andi\\datein.cpp:7: error: \nocreate' is not a member of `std::ios'
Process terminated with status 1 (0 minutes, 0 seconds)
1 errors, 1 warningsIn meinem Tuorial steht aber "ios::nocreate".
Mh?
Dankeschön schon mal im Voraus.
-
Also ein Standard-Flag ist das auf jeden Fall nicht - vermutlich eine Erweiterung durch den Compiler, den der Tut-Autor verwendet hat

-
Hi,
letzter Teil: http://www.c-plusplus.net/forum/viewtopic-var-t-is-39469.html
-
Der Flag ist uralt, den gabs früher mal. Heute allerdings nichtmehr.
-
Hallo
Nicht zu vergessen die Warnung des Compilers wegen dem nicht maskierten Backslash
Muß so aussehen, Stichwort Escapesequenzenofstream FILE("D:\\Hans.txt"...)bis bald
akari
-
Und warum muss man da einen doppelten "\" machen? Gibts da eine Begründung oder is das halt einfach so?
Dankeschön schon mal im Voraus.
-
Der Backslash leitet in Zeichenketten in C und C++ sog. Escape-Sequenzen ein. Auf gut deutsch: Was mit einem Backslash anfängt wird versucht als Steuerzeichen zu deuten, wie zB. das Zeichen '\n' ein "Newline" produziert oder ein '\r' ein "Carriage-Return". Ein '\H' gibt's jedoch nicht. Um den Backslash als solches darzustellen verdoppelt man ihn.
greetz, Swordfish
-