gegenstück zu fwrite
-
welche parameter werden benötigt?
-
Siehe belieige C++-Doku (CppReference, MSDN oÄ)
MfG SideWinder
-
-
ich muss die funktion write so benutzen:
ofstream.write(int,anzahl);
wie kann ich dies bewerkstelligen?
-
Wie wär's mit lesen? Hast doch schon die Funktion und nen Link auf ne Funktions-Referenz.
-
entschuldigung, aber ich kapier es trotzdem nicht.
ich hatte diesen ansatz:
#include <fstream>
using namespace std;int main(){
int a = 0x31;
ofstream file("file.exe");
file.seekp(3L, SEEK_SET);
file.write(&a, 1);
file.close();
}Kriege aber diese fehler:
main.cpp:7: error: invalid conversion from `int' to `std::_Ios_Seekdir'
main.cpp:7: error: initializing argument 2 ofstd::basic\_ostream<\_CharT, \_Traits>& std::basic\_ostream<\_CharT, \_Traits>::seekp(typename \_Traits::off\_type, std::\_Ios\_Seekdir) [with \_CharT = char, \_Traits = std::char_traits<char>]' main.cpp:8: error: no matching function for call tostd::basic_ofstream<char, std::char_traits<char> >::write(int*, int)'
C:/CodeBlocks/bin/../lib/gcc/mingw32/3.4.4/../../../../include/c++/3.4.4/bits/ostream.tcc:360: note: candidates are: std::basic_ostream<_CharT, _Traits>& std::basic_ostream<_CharT, _Traits>::write(const _CharT*, std::streamsize) [with _CharT = char, _Traits = std::char_traits<char>]
-
1. statt SEEK_SET verwendest du ios::beg
2. du mußt den zu schreibenden Wert noch nach char* casten (und nebenbei die korrekte Größe angeben):file.seekp(3L, ios::beg); file.write((char*)&a, sizeof(int));
-
ist das dann im programm ein string oder ein integer? was wenn ich binär arbeiten möchte?
-
Dieser Thread wurde von Moderator/in c.rackwitz aus dem Forum ANSI C in das Forum C++ verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
rom_in_der_hitze schrieb:
ist das dann im programm ein string oder ein integer?
wovon redest du eigentlich?
-
wenn ich binär in die datei schreiben möchte, dann kann ich ja keine chars bzw. strings nutzen. Dann muss man hexadezimal oder binär schreiben. Kann ich nun mit der Zeile von CStoll auch in binärer Ebene arbeiten?
-
rom_in_der_hitze schrieb:
wenn ich binär in die datei schreiben möchte, dann kann ich ja keine chars bzw. strings nutzen. Dann muss man hexadezimal oder binär schreiben.
unsinn. wie kommst du nur auf so einen unsinn... antworte nicht, ich wunder mich nur.
du kannst alle moeglichen daten nutzen, weils voellig ****** egal ist, was das fuer typen sind. du uebergibst eh nur einen pointer auf speicher und speicher ist speicher, ende.> Kann ich nun mit der Zeile von CStoll auch in binärer Ebene arbeiten?
ja. du musst die datei nur als "binaer" oeffnen.