fgets mal wieder...



  • Hi, ich verstehe es nicht.

    printf("Interpret: ");
    	fgets(Interpret,100, stdin);
    	sscanf(Interpret,"%s",Interpret);
    
        printf("Album: ");
    	fgets(Album,100, stdin);
    	sscanf(Album,"%s",Album);
    

    Warum gibt er mir als Ausgabe :

    Interpret : Ausgabe :
    

    Und ich kann bei Interpret nichts eingeben...



  • hi, du gibst wahrscheinlich irgendwas mit leerzeichen ein?, das wird dann von sscanf abgeschnitten



  • ne bevor ich was eingebe steht das schon so da 😕



  • na das liegt dann wohl kaum an den zeilen, die du gepostet hast.
    muss wohl nen anderen grund haben, in den tiefen deines übrigen quellcodes 😉



  • Hmmm ok, also hier ist die ganze Funktion :

    int Neuertag()
    {
    	int j=0;
    	char Interpret[100];
    	char Album[100];
    	char Song[100];
    	char Buffer[10];
    	int Jahr=0;
    
    	system("cls");
    
    	printf("Interpret: \n");
    	fgets(Interpret,100, stdin);
    	sscanf(Interpret,"%s",Interpret);
    
        printf("Album: ");
    	fgets(Album,100, stdin);
    	sscanf(Album,"%s",Album);
    
    	printf("Song: ");
    	fgets(Song,100, stdin);
    	sscanf(Song,"%s",Song);
    
    	printf("Erscheinungsjahr (xxxx): ");
    	fgets(Buffer,10,stdin);
    	sscanf(Buffer,"%d",&Jahr);
    
    	printf("\n\nEingegebener TAG :\n");
    	printf("*------------------------------------------------\n");
    	printf("Interpret.............: %s\n",Interpret);
    	printf("Album.................: %s\n",Album);
    	printf("Song..................: %s\n",Song);
    	printf("Erscheinungsjahr......: %d\n",Jahr);
    	printf("-------------------------------------------------*\n\n");
    
    	printf("1 : Diesen TAG in die Liste eintragen\n\n");
    	printf("2 : Nochmal neu eingeben\n\n");
    	printf("0 : Hauptmenue\n\n\n");
    
    	fgets(Buffer,10,stdin);
    	sscanf(Buffer,"%d",&j);
    
    	switch(j)
    	{
    	case 1:	
    	Tagspeichern(Interpret,Album,Song,Jahr);
    	break;
    
    	case 2:
    	Neuertag();
    	break;
    
    	case 0:
    
    	break;
    
    	default:
    		printf("Du Noob hast einen Scheiss eingetippt,nochmal pls\n\n");
    		system("pause");
    
    	}
    
    return 0;
    
    }
    


  • Ohhh ich hab den Fehler...

    ...hatte in der main ne switch abfrage die ich mit scanf() gehandelt habe *Autsch*, ok jetzt gehts xD



  • ahhhhhhaaaaaaaaaaaaaaahhh !
    👍



  • du wirst mit deinen eingaben nicht viel freude haben, wenn sie durch leerzeichen unterbrochen sind



  • ja ich weiss, das ist aber wieder ein anderes Thema


Anmelden zum Antworten