myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

C Datei einlesen und in Struktur speichern

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 22.02.10, 07:18   #1
susay
Anfänger
 
Registriert seit: Feb 2010
Beiträge: 6
Bedankt: 0
susay ist noch neu hier! | 0 Respekt Punkte
Standard 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 )
	{
...
	}
susay ist offline   Mit Zitat antworten
Ungelesen 22.02.10, 14:28   #2
gosha16
Banned
 
Registriert seit: Sep 2009
Ort: /root/
Beiträge: 824
Bedankt: 640
gosha16 ist noch neu hier! | 0 Respekt Punkte
Standard

%c? bist du dir sicher das du das du %c willst? und nicht %s?
gosha16 ist offline   Mit Zitat antworten
Ungelesen 22.02.10, 17:07   #3
grieche1705
Newbie
 
Registriert seit: Jan 2009
Beiträge: 54
Bedankt: 8
grieche1705 ist noch neu hier! | 0 Respekt Punkte
Standard

lass doch einfach das programm nach dem keyword suchen und lässt ihn danach auslesen
__________________
Jeden Tag eine Gute Tat und jedem ist geholfen
grieche1705 ist offline   Mit Zitat antworten
Ungelesen 22.02.10, 18:20   #4
urga
Mitglied
 
Benutzerbild von urga
 
Registriert seit: Aug 2009
Ort: void* (*wtf[])(void **);
Beiträge: 453
Bedankt: 137
urga ist noch neu hier! | 0 Respekt Punkte
Standard

a) lies jeweils eine ganze zeile ein, und zerlege die dann mittels strtok()
b) such im web nach einer csv-bibliothek und verwende diese.
__________________
entropie erfordert keine wartung
urga ist offline   Mit Zitat antworten
Ungelesen 23.02.10, 06:56   #5
susay
Anfänger
 
Registriert seit: Feb 2010
Beiträge: 6
Bedankt: 0
susay ist noch neu hier! | 0 Respekt Punkte
Standard

Danke habe es mit strtok hinbekommen.
susay ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:50 Uhr.


Sitemap

().