Datei::Untersegmente einlesen...



  • 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 😕


Anmelden zum Antworten