Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » In Datei: Cursor zurück und Umlaute

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
01.04.2007, 23:04 Uhr
Suba Esel



Mmh, so funktionierts. Ein paar Fragen noch:
erstens, wieso geht das mit std::ios::app nicht?
Zweitens, wieso funktioniert out.seekp(std::ios::end); nicht?
Drittens, laut cppreference.com ist std::ios::in zum lesen da. Wieso kann man das dann bei nem ofstream benutzen?
Viertens, wieso hat std::ios::ate eine höhere Priorität als std::ios::in? Denn in setzt den Zeiger an den Anfang, ate ans Ende, aber ate wird benutzt.
--
Simon

Dieser Post wurde am 01.04.2007 um 23:10 Uhr von Suba Esel editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
02.04.2007, 15:34 Uhr
Suba Esel



Ein Problem ist außerdem noch da:
Wenn ich mit std::ios::ate | std::ios::in öffne und die Datei noch nicht existiert, wird sie NICHT erzeugt. Ich hab das jetzt so gelöst:

C++:
std::ofstream out("Zeit am PC.txt", std::ios::app);
out.close();
out.open("Zeit am PC.txt", std::ios::ate | std::ios::in);


Gibts da noch irgendwas sauberes, was dafür sorgt, dass die Datei nicht überschrieben wird, sie erstellt, wenn es sie noch nicht gibt, den Schreibzeiger ans Ende setzt und seekg zulässt?
--
Simon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
02.04.2007, 17:14 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Na ja,

C++:
std::ofstream out("time.txt", std::ios::app | std::ios::ate | std::ios::in)

sollte dann das machen, was du willst?!

EDIT: Merk dir, Leerzeichen in Dateinamen sind böööse .... Besser vermeiden
--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

Dieser Post wurde am 02.04.2007 um 17:15 Uhr von J-jayz-Z editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
02.04.2007, 17:21 Uhr
Suba Esel



Nee, genau das hab ich schon ausprobiert, aber das geht nicht: in die Datei wird nichts geschrieben und ich kann drin rumschreiben wie ich will - das std::ios::in hat offenbar eine höhere Priorität oder was auch immer als das std::ios::app - ne ähnliche Frage hab ich oben schon stehen.
--
Simon
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: