Eigene Funktionen [ERLEDIGT]



  • 08mmarte schrieb:

    Danke, aber könnt ihr mir hierbei trotzdem helfen:

    char *Mystrchr(const char *str, int c)
    {
    	int i = 0;
    	char *pointer = 0;
    	
    	while (i < Mystrlen(str))
    	{
    		if (str[i] == c)
    		{
    			*pointer = str[i+1];
    			printf ("%c ist an der %d. Stelle\n", *pointer, i+1);
    		}
    		i++;
    	}
    	return (0);
    }
    

    Fehlermeldung

    Die Anweisung in "0x00411707" verweist auf Speicher in "0x00000000. Der Vorgang "written" konnte nicht auf dem Speicher durchgeführt werden.
    

    Werde nicht schlau draus... 😕

    naja, pointer ist ein NULL-Pointer, also zeigt auf eine ungültige Adresse. Mit *pointer versuchst du den NULL-Poiner zu deferenzieren, was ja nicht gehen kann, da der NULL-Pointer ins Nirvana zeigt. Lies mal die Fehlermeldung (nicht nur copy&paste)



  • mach aus:

    08mmarte schrieb:

    ...
    if (str[i] == c)
    {
       *pointer = str[i+1];
       printf ("%c ist an der %d. Stelle\n", *pointer, i+1);
    }
    ...
    }
    

    das:

    if (str[i] == c)
    {
        printf ("%c ist an der %d. Stelle\n", c, i+1);
    }
    

    die variable 'pointer' brauchst du doch gar nicht.
    🙂



  • Danke jetzt funktionierts... 👍



  • EDIT: Hat sich erledigt!


Anmelden zum Antworten