Autor Beitrag
BlackMatrix
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 243
Erhaltene Danke: 1



BeitragVerfasst: Di 14.06.11 15:17 
Hi.

Ich habe einen Dezimalwert, den ich binär in eine .txt Datei schreiben möchte. Dabei möchte ich, dass der Binärwert 16 Stellen lang und somit fehlende Stellen durch führende Nullen aufgefüllt werden.

Bisher habe ich folgendes gemacht:

ausblenden C#-Quelltext
1:
2:
            string binary=Convert.ToString(Crc,2);
            Output.Write(ASCIIEncoding.ASCII.GetBytes(binary),0,binary.Length);


MfG BlackMatrix
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 14.06.11 15:47 
Hallo,

meinst du
ausblenden C#-Quelltext
1:
binary = binary.PadLeft(16'0');					

?
BlackMatrix Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 243
Erhaltene Danke: 1



BeitragVerfasst: Di 14.06.11 15:58 
user profile iconTh69 hat folgendes geschrieben Zum zitierten Posting springen:
Hallo,

meinst du
ausblenden C#-Quelltext
1:
binary = binary.PadLeft(16'0');					

?


Genau, also einen Dezimalwert von 1 wollte ich in die Textdatei als:

Zitat:
0000000000000001


schreiben und das tut es :)

Kann man das irgendwie auch anders machen? In der ToString() Methode evtl. schon?
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 14.06.11 17:40 
Um nur in die Textdatei zu schreiben, brauchst du natürlich nur
ausblenden C#-Quelltext
1:
Output.Write(binary);					

zu schreiben (und nicht erst in ein byte-Array zu verwandeln, denn die Ziffern 0 und 1 gibt es ja auch im Standard-Encoding).
Aber um das Convert.ToString(Crc, 2) kommst du nicht herum, denn für die Dual-Darstellung gibt es keine vorgefertigten Formatierungszeichen.
BlackMatrix Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 243
Erhaltene Danke: 1



BeitragVerfasst: Di 14.06.11 18:21 
user profile iconTh69 hat folgendes geschrieben Zum zitierten Posting springen:
Um nur in die Textdatei zu schreiben, brauchst du natürlich nur
ausblenden C#-Quelltext
1:
Output.Write(binary);					

zu schreiben (und nicht erst in ein byte-Array zu verwandeln, denn die Ziffern 0 und 1 gibt es ja auch im Standard-Encoding).
Aber um das Convert.ToString(Crc, 2) kommst du nicht herum, denn für die Dual-Darstellung gibt es keine vorgefertigten Formatierungszeichen.


Auch bei einem Streamobjekt? Bei Output handelt es sich um einen Stream, der mir ja nur die Methoden Write oder WriteByte zur Verfügung stellt und mit Write brauche ich ja als ersten Parameter ein bytearray und bei WriteByte müsste ich jeden char des strings mit einer Schleife einzeln in die .txt schreiben.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Di 14.06.11 19:08 
Hallo,

woher kommt denn dein Stream?
Wenn du ihn selber erstellst, dann benutze doch einfach den StreamWriter, und dieser hat diverse Überladungen für die Write-Methode (u.a. für einen String), s. msdn.microsoft.com/d...3w%28v=VS.80%29.aspx
BlackMatrix Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 243
Erhaltene Danke: 1



BeitragVerfasst: Mi 15.06.11 19:09 
Ist ein FileStream und ich lese die Bytes mit ReadByte() aus :) Aber ich lass das erstmal so, vielen Dank.
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4798
Erhaltene Danke: 1059

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Mi 15.06.11 20:58 
Warum einfach, wenn's auch kompliziert geht? :?
BlackMatrix Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 243
Erhaltene Danke: 1



BeitragVerfasst: Do 16.06.11 00:48 
user profile iconTh69 hat folgendes geschrieben Zum zitierten Posting springen:
Warum einfach, wenn's auch kompliziert geht? :?


Mir hat sich eher die Frage gestellt, wieso einen StreamWriter und einen StreamReader, wenn mir der Stream an sich schon die Methoden Write und Read liefert :)