W
Servus,
EDIT: Problem gelöst, fgetpos und fsetpos halfen weiter... Danke trotzdem
ich komme gerade an einer Stelle nicht mehr weiter... folgenden Datensatz hab ich
Keyword1 Typ1
001 Daten
002 Daten
003 Daten
004 Daten
Keyword1 Typ2
001 Daten
002 Daten
003 Daten
004 Daten
Keyword2 Typ1
001 Daten
002 Daten
003 Daten
004 Daten
usw.
Ich habe das Problem, daß ich nicht das "richtige" Untersegment von Keyword Typ2 (ist ein Integer und ist nicht festgelegt !) erreiche, folgenden Quellcode benutze ich schonmal um erfolgreich nach "Keyword" aufzuschlüsseln.
FILE *File1,*File2;
char *Buffer1, *Buffer2;
char FileBuffer1[BUFSIZ+1];
char FileBuffer2[BUFSIZ+1];
char CmpBuffer[3];
File1=fopen(MyFile,"r");
File2=fopen(MyFile,"r");
while (fgets(FileBuffer1,sizeof(FileBuffer1),File1))
{
Buffer1=FileBuffer1;
if (strncmp(Buffer1,"Keyword",strlen(Keyword))==0)
{
while (fgets(FileBuffer2,sizeof(FileBuffer2),File2))
{
Buffer2=FileBuffer2;
sprintf(CmpBuffer,"%03d",counter);
if (strncmp(Buffer2,CmpBuffer,6)==0)
{
printf("Gefunden ");
printf(Buffer1);
printf(" zu ");
printf(Buffer2);
counter++;
}
}
counter=0;
}
}
An sich weiß ich auch, daß nach fgets(File2) der Zeiger auf EOF steht, aber wie springe ich an die "richtige" Stelle wieder zurück ? Mit fseek springe ich, aber wie finde ich die Bytelänge heraus für fseek(File2,Bytelänge,SEEK_CUR) ? Strlen lieferte mir keine Erfolge, wahrscheinlich auch weil ich mich zu dusselig anstelle
Winn