Was ist der einfachste Weg zu schreiben, eine zwei-dimensionales array in eine Datei?
Was ist der einfachste Weg zu schreiben, eine zwei-dimensionales array in eine Datei die in C#?
Alle Fragen, die ich bisher gelesen sind für string-arrays, aber ich brauche zum schreiben von Daten.
Ich bin mit der Konvertierung eines alten C-Projekt, und es war einfach in C:
FILE *file;
unsigned char site[32][10];
Initialisieren Sie das array, und öffnen Sie die Datei zum Lesen/schreiben ( die Datei ist immer geöffnet, in das Projekt):
Schreiben der Daten:
if (fseek (file, offset, SEEK_SET))
return (0);
return (fwrite (&site, sizeof (site), 1, file));
Zum Lesen der Daten:
if (fseek (file, offset, SEEK_SET))
return (0);
return (fread (&site, sizeof (site), 1, fsite));
Die Datei nicht zu öffnen die ganze Zeit, so habe ich versucht:
byte [,] = new byte[32,10] = { some data here };
File.WriteAllBytes(fileDescr, site);
Aber es funktioniert nicht mit 2-dimensionalen arrays.
- Müssen Sie behalten die gleiche Datei-format wie die, die man produziert, indem Sie das C-Programm?
- wenn die Antworten hier sind speziell für Binär-und Ihre Frage ist über binäre dann vielleicht sollten Sie in Ihren Titel
Du musst angemeldet sein, um einen Kommentar abzugeben.
Referenzen:
Methoden:
Im Einsatz
Wenn bewahren Sie die Abwärtskompatibilität mit der alten 'C' - Programm-Datei-format, ist es vielleicht am einfachsten, wenn Sie die Windows-API verwenden um die Daten zu schreiben. (Wenn nicht, sollten Sie eine
BinaryFormatter
wie bereits in vorherigen Antworten).Aber wenn Sie tun wollen, verwenden Sie die Windows-API, hier ein Beispiel:
Verwenden
System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
.Die Datei zu Lesen, verwenden Sie die BinaryFormatter-s
Deserialize
Methode.