Byte Array deklarieren zund füllen
-
Hallo!
Ich möchte ein Byte Array in verbindung mit dem Binary reader nutzen und hab eine C# Source dazu gefunden:
Snippet:
/* übergebe die daten an ein byte array * wir convertieren die zahl die BaseStream.Length zurückgibt in einen int * da der binary reader eine int zahl benötigt^^ */ byte[] FileDaten = br.ReadBytes( Convert.ToInt32( sr.BaseStream.Length ) ); br.Close(); sr.Close(); /* Da wir den inhalt des BinaryReaders nicht mittels der * ConvertKlasse umwandeln können , müssen wir die Asciiencoding Klasse verwenden * um die bytes in einen String zu verwandeln */ ASCIIEncoding Conv = new ASCIIEncoding();
byte muss ich natürlich deklarieneren, gibts ja in C++ nicht so, richtig?!
Also ich deklariere:unsigned char byte[int]
so woher weiss ich denn wie gross das Array sein soll für den binary Writer?! Gibts da sowas wie sizeof?! oder wie kann ich das dynamisch machen?! bzw brauch ich dass überhaupt dynamisch?!
-
1. C++ ist nicht C++/CLI.
2. C++/CLI basiert auf dem CTS (Common Type System), desshalb gibt es da dieselben Daten Typen wie in C#, welches auch auf dem CTS basiert.// Deklaration: array<System::Byte>^ meinByteArray = nullptr; // Erzeugen: meinByteArray = gcnew array<System::Byte>(24); // etc.
Simon
Edit
Konkret für deinen Code:array<Byte>^ FileDaten = br->ReadBytes( Convert::ToInt32( sr->BaseStream->Length ) ); br->Close();