Probleme mit fscanf()



  • Hallo

    Hab mir grad durchgelesen wie man Probleme posten soll daher jetzt ausführlicher:

    Mein Problem lag darin dass ich ID3 Tags mit c auslesen möchte.
    Nachdem ich rausbekam wie die aufgebaut sind, wäre mein Ziel diese an ein file zu übergeben welches dann wieder mittels strukutren sortiert werden soll.

    Hab aber ein Problem mit der Funktion fscanf()... zumindest hätt ich es dort geortet.

    Ein 'h' wird nicht erkannt und ausgegeben.
    Sind 2 'h' hintereindar im Titel wird nur das 2. h übergeben.

    Hier der Code um das Program zu compilieren und auszuprobieren.
    Mittels Console aufrufen und als Argument eine mp3 angeben.

    #include <stdio.h>
    #include <stdlib.h>
    
    	char check[512];
    
    	int i, j, k; 
    
    	FILE *file=0;
    
    int main(int argc, char* argv[])
    {
    	file=fopen(argv[1], "r");
    	if(file==NULL)
    	{
    		printf("\n\n\n---   Datei \"%s\" nicht vorhanden!   ---", argv[1]);
    		exit (1);
    	}
    
    	for(i=0;i<208;i++)
    	{
    		fscanf(file,"%check",&check[i]);
    		printf("Test %02d:\t%c\n", i, check[i]);
    	}
    	printf("\nTitle: ");
    	for(i=0;i<208;i++)
    	{
    		if(check[i]=='T'&&check[i+1]=='I'&&check[i+2]=='T'&&check[i+3]=='2')
    		{
    			k=(int)check[i+7];
    			for(j=0;j<k-1;j++,i++)
    			printf("%c", check[i+11]);
    		}
    	}
    	printf("\n");
    	fclose(file);
    	return 0;
    }
    

    Vielen Dank für eure Bemühungen...



  • und was ist deine Frage?
    wie wärs denn, wenn du die Datei binär öffnest und dann byteweise mit fread liest?



  • Danke für die schnelle Antwort und tut leid, die funktion hätt ich denk ich selbst finden können.

    So klappts supi!

    Somit ist die Fragestellung oben nur noch interesse...

    lg Dankeschön



  • Mr.Mike schrieb:

    Somit ist die Fragestellung oben nur noch interesse...

    Ja welche denn? Wenn du keine stellst, kann man sie auch nicht beantworten? Oder übersehe ich sie einfach nur...



  • Richtig..

    ich hab keine Frage formuliert.... 🙂

    Meine Frage wäre gewesen warum das so ist das ein 'h' nicht ausgelesen wird...

    Tut nicht mehr viel zur Sache aber interessant wärs trotzdem.

    lg mike



  • Mr.Mike schrieb:

    ...
    fscanf(file,"%check",&check[i]);
    ...
    

    Check das doch noch einmal.



  • lol

    gefunden... 😃

    muss aber zu geben ich habs echt nicht gesehn....

    thx


Anmelden zum Antworten