binär in datei schreiben
-
hallo ich hoffe ihr könnt mir helfen...
#include <cstdlib> #include <iostream> #include <fstream> using namespace std; int main(int argc, char *argv[]) { fstream f; f.open("test.dat", ios::out| ios::binary); f << "Text soll \x00\x00\x01 in die Datei" << endl; f.close(); system("PAUSE"); return EXIT_SUCCESS; }er soll
Dieser Text geht \x00\x00\x01 in die Datei
in einer datei schreiben und NICHT bei geht abbrechen...
ich weis das \x00 das stringterminirungszeichen ist... aber ich wüste jetzt nicht so wirklich wie ich das sonst schreiben könnte?ich danke schon mal
-
Hallo,
Mit Hilfe von ostream::write kannst du binär schreiben.
-
Kann grad nix testen oder so, aber versuch mal:
#include <cstdlib> #include <iostream> #include <fstream> using namespace std; int main(int argc, char *argv[]) { fstream f; f.open("test.dat", ios::out| ios::binary); f << "Text soll \\x00\\x00\\x01 in die Datei" << endl; f.close(); system("PAUSE"); return EXIT_SUCCESS; }
-
ich glaub man kann auch mit fstream binär schreiben
und der sinn ist es übrigens auch die /x00 binär zu schreiben (siehe titel)
-
Braunstein schrieb:
Hallo,
Mit Hilfe von ostream::write kannst du binär schreiben.
-
ich komme wenn ich einen string übergebe nicht zum gewünschten ergebniss
wie kann man das ändern?
-
wie hast du den string an write übergeben. code zeigen!
-
outfile.write (buffer.c_str(),size);
-
write("Text soll \x00\x00\x01 in die Datei",26);
-
lugga schrieb:
outfile.write (buffer.c_str(),size);
Das ist schon korrekt. Das Problem ist nur, dass std::string ein char-Array auch als solches interpretiert. D.h. bei /0 ist da Schluß. Nimm ein char oder ein short-Array und verwende keine Routinen aus cstring. D.h. verwende dieses Array nicht als String.