strtok: bestimmte Syntax aufteilen



  • hallo... ich habe einen string der z.B: so aussieht:

    hallo "Melanie Sprint" das alter "17 Jahre" huhu
    

    das soll aufgeteilt werden in:

    hallo
    Melanie Sprint
    das
    alter
    17 Jahre
    huhu
    

    mein ansatz:

    pToken = strtok(buf_em, "\"");
    
    	if(pToken)
    	{
    		printf("Test: %s\n",pToken);
    
    		while ( (pToken = strtok(NULL, "\"")) )
    		{
    			printf("Test: %s\n",pToken);
    		}
    	}
    

    aber ich blick da nicht richtig durch^^ habt ihr eine idee??

    achja -
    1. die Syntax hab ich mir net ausgesucht
    2. der satz der geteilt werden soll ist nur müll - nur als Beispiel

    danke!



  • duoBabel schrieb:

    hallo... ich habe einen string der z.B: so aussieht:

    hallo "Melanie Sprint" das alter "17 Jahre" huhu
    

    das soll aufgeteilt werden in:

    hallo
    Melanie Sprint
    das
    alter
    17 Jahre
    huhu
    

    hi,
    du kannst nicht leerzeichen als trenner nehmen und gleichzeitig zwei wörter zusammen lassen (wie bei 'melanie sprintf'). das muss schon unterschiedlich sein...



  • Du könntest alle ' ' innerhalb zweier " durch ein anderes Zeichen ersetzen (das natürlich sonst nicht auftreten darf), dann strtok()en und dann das Zeichen in den Teistrings wieder durch ' ' ersetzen.

    Wäre zwar keine wirklich schöne Lösung, aber das ist es mit strtok() eh nicht ;P


Log in to reply