char/string Speicherverletzung?



  • Speicherverletzung! Wo ist mein Denkfehler

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    
    int main()
    {
        char *a     = "komplett\nkompl\nkomplett"; 
        int i,j;
        char *trenn ={ "\n"};
        char *tmp;
    
    	tmp=strtok(a,trenn);
    	printf("%s",tmp);
    	while(tmp != NULL) {
    	    printf("%s\n",a);
    	    tmp=strtok(NULL,trenn);
    	}
        return 0;
    }
    


  • lovepulse schrieb:

    Speicherverletzung! Wo ist mein Denkfehler

    char *a     = "komplett\nkompl\nkomplett";
    

    strtok möchte da gerne nullen einsetzen.
    mach es etwa so:

    char a[] = "komplett\nkompl\nkomplett";
    

Anmelden zum Antworten