myGully.com

myGully.com (https://mygully.com/index.php)
-   Programmierung (https://mygully.com/forumdisplay.php?f=67)
-   -   C Datei einlesen und in Struktur speichern (https://mygully.com/showthread.php?t=1997958)

susay 22.02.10 07:18

C Datei einlesen und in Struktur speichern
 
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 )
        {
...
        }


gosha16 22.02.10 14:28

%c? bist du dir sicher das du das du %c willst? und nicht %s?

grieche1705 22.02.10 17:07

lass doch einfach das programm nach dem keyword suchen und lässt ihn danach auslesen

urga 22.02.10 18:20

a) lies jeweils eine ganze zeile ein, und zerlege die dann mittels strtok()
b) such im web nach einer csv-bibliothek und verwende diese.

susay 23.02.10 06:56

Danke habe es mit strtok hinbekommen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:51 Uhr.

Powered by vBulletin® (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.