Text einlesen mit Read/ReadBlock
-
Hi,
Schreibe derzeit an einem Programm das Femas-Dateien in VRML-Dateien konvertiert.
Dazu lese ich Daten aus der Quelldatei aus.
Nun will ich aber nur eine bestimmte anzahl an Zeichen auslesen, was mit dem Befehl
Readblock möglich sein sollte.[cpp]
public virtual int ReadBlock (
[InAttribute] [OutAttribute] char[] buffer,
int index,
int count
)
[\cpp]Zu Testzwecken lass ich mir dann den Inhalt von Buffer in einer TextBox ausgeben, aber als Ergebnis bekomme ich statt "NZK"(oder irgendwas) immer nur System.Char[].
Kann mir vllt jmd sagen, wo der Fehler ist.
Gruß Yellow
-
Servus,
lass mich raten. Du machst ein "buffer.ToString()" oder ein "Convert.ToString(buffer)"??? Geht nicht. Du bekommst den Objektnamen zurück.
Du kannst aber z.B. sowas machen:
char[] buffer = "Mooh - Meine Katze".ToCharArray(); string text = new string(buffer); // <<<<<<<<<<<<<
mfg
Hellsgore
-
Danke für die Antwort, weis aber leider nicht wie dies in meinem Context helfen kann.
StreamReader rFile = new StreamReader(Filename); char[] buffer = new char[5]; rFile.ReadBlock(buffer,0,4); string str = "huhu"; str += buffer(.toString());
so sieht der ungefähr aus!
Gruß Mark
-
Analogieübung?
string text = new string(buffer); // <<<<<<<<<<<<<
str += new string(buffer);
-
So hab das grad auch getestet!
Klappt netschreib mir einfach ma jmd einen kurzen Code, mit dem ich dann die über read/readblock eine gewissen anzahl an Zeichen auslesen kann.
gruß mark
-
yellownelly schrieb:
So hab das grad auch getestet!
Klappt netschreib mir einfach ma jmd einen kurzen Code, mit dem ich dann die über read/readblock eine gewissen anzahl an Zeichen auslesen kann.
gruß mark
"Bitte" fehlt in deinem Satz.
StreamReader rFile = new StreamReader(filename); char[] buffer = new char[5]; rFile.ReadBlock(buffer, 0, 4); string str = string.Empty; str += new string(buffer);
Geht bei mir wie geschmiert.
mfg
Hellsgore
-
Sorry, meinte kann mir bitte jmd nen Code geben.
Aber egal, klappt bei mir leider net so da entweder keinen text ausgibt oder wieder System.Char().
Ich umgeh jetzt das ganze einfach mit dem StringReader.
Danke noch ma an alle.
gruß Mark
-
Servus,
dann wirds wohl daran liegen, dass dein Char[] nicht gefüllt ist. Wenn es daran nicht mehr liegt, dann machst du irgendwas Anderes
mfg
Hellsgore