Hi ich habe folgendes Problem:
Ich will eine Datei einlesen und eine Struktur speichern. Soweit nichts neues dazu habe ich dutzende Beispiele gefunden aber meine Infos die ich lesen will befinden sich an einer bestimmten Stelle. Die Adresse habe ich in Byte vorliegen.
Die Daten die ich speichern will sehen wie folgt aus:
Code:
9273/$DATATYPE/I/$PAR/15/$MODE/L/$P1B/16/$P2B/16/$P3B/16/$P4B/16/$P5B/16/$P6B/16/$P7B/16/$P8B/16/$P9B/16/$P10B/16/$P11B/16/$P12B/16/$P13B/16/$P14B/16/$P15B/16/$BYTEORD/1,2,3,4/$P1R/4096/$P2R/4096/$P3R/4096/$P4R/4096/$P5R/4096/$P6R/4096/$P7R/4096/$P8R/4096/$P9R/4096/$P10R/4096/$P11R/4096/$P12R/4096/$P13R/4096/$P14R/4096/$P15R/4096/$NEXTDATA/0/$DATE/21-08-2006/$EXP/ /$PROJ/ /$OP/ /$INST/Unregistered/$FIL/MNC cult 133 Butyrat.FCS/$CYT/partec PAS/$SMNO/ /$SRC/ /$SYS/WinXP/$CELLS/ /$BTIM/15:08:37/$ETIM/15:12:35/$TOT/23849/$TR/ ,0.000000/$COM/ /$PK1/0/$PKN1/0/$P1N/FSC-488/$P1F/ /$P1E/0.000000,0.000000/$P1L/0.000000/$P1O/0.000000/$P1P/0.000000/$P1T/ /$P1V/171.000000/$PK2/0/$PKN2/0/$P2N/FSC2/$P2F/ /$P2E/3.000000,0.000000/$P2L/0.000000/$P2O/0.000000/$P2P/0.000000/$P2T/ /$P2V/210.000000/$PK3/0/$PKN3/0/$P3N/SSC-488/$P3F/ /$P3E/0.000000,0.000000/$P3L/0.000000/$P3O/0.000000
Dabei handelt es sich immer um ein keyword und den dazugehörigen Wert. Die Daten sehen immer anderes aus und sind durch ein Trennzichen getrennt. In diesem Fall das "/"
Ich wollte es jetzt mit scanf versuchen aber dadurch das es nur bis zu einer bestimmten Bytestelle lesen soll ist das nicht so optimal.
Kann mir da jemand weiterhelfen?
So schaut mein Code in etwa aus:
Code:
fseek(fo, atoi(FCStext.start) , SEEK_SET); //bringt Zeiger in Position
while((fscanf(fo,"/%c/%c",zeiger->keyword,zeiger->value)) != EOF )
{
...
}