c Strukturen in c#
-
Sitze hier an einem bestimmt lächerlichen Problem (bitte nicht auslachen) und komm nicht weiter.
Wie schaffe ich es, c Strukturen (sind in einem .dat file gespeichert) mit c# auszulesen?
Bin für jeden Gedankenanstoss dankbar.
Grüße aus dem verschneiten Allgäu.
-
wie hast du die gespeichert ?
Das muss man schon vorher wissen.
-
Habe den Ausschnitt des c-Codes kurz angehängt. Hier sollen nun die Werte der Variablen der c Struktur ausgelesen und Variablen in c# zugewiesen werden.
#include <stdio.h>
struct TMaschineAllgemein
{
int Maschinennummer;
char Maschinenname[30];
int Version;
int keineAnhnung;
} prototyp;int main()
{
FILE *datei_ptr;
char *name = "mannitest.dat";datei_ptr = fopen(name, "w");
if(datei_ptr == NULL)
{
printf("Fehler beim Öffnen der Datei %s\n", name);
printf("(Datei ggf. noch nicht vorhanden)\n");
return(-1);
}else
{
prototyp.Maschinennummer = 8;
prototyp.Maschinenname[0] = 'x';
prototyp.Maschinenname[1] = 'y';
prototyp.Maschinenname[2] = 'z';
prototyp.Maschinenname[3] = 'a';prototyp.Version = 2;
prototyp.keineAnhnung = 16;fprintf(datei_ptr,"%d", prototyp.Maschinennummer);
fprintf(datei_ptr, "%s", prototyp.Maschinenname);
fprintf(datei_ptr,"%d", prototyp.Version);
fprintf(datei_ptr,"%d", prototyp.keineAnhnung);fclose(datei_ptr);
return(0);
}
}
-
Hallo.
Als erstes würde ich auch mal so eine Struktur in C# anlegen.public struct TMaschineAllgemein { int Maschinennummer; byte Maschinenname[30]; int Version; int keineAnhnung; }
Um die Daten dann zu lesen, öffnest du einen Stream :
using System.IO; ... TMaschineAllgemein MeineMasch = new TMaschineAllgemein(); FileStream oStream = new FileStream(DateiName, FileMode.Open); BinaryReader oReader = new BinaryReader(oStream); // ... Daten auslesen oReader.Close();
mfg BlueShift