Ich danke euch Habs noch ein klein wenig angepasst und jetzt diese Version:
Code:
#include <stdio.h>
#include <stdlib.h>
int split(char * w, char c, char **rest);
int main(void){
char c = 'a';
char string[] = "Hallo";
char *w = string;
char *rest;
int i;
printf("*w: %s\n", w);
i = split(w, c, &rest);
printf("%i\n", i);
if(i == 1){
printf("**rest: %s\n", rest);
}
return 0;
}
int split(char * w, char c, char **rest) {
int i = 0;
while (w[i] != c && w[i] != '\0')
++i;
if (w[i] == c) {
if(rest != NULL){
w[i] = '\0';
*rest = &w[i +1];
}
return 1;
}
else
return 0;
}
D.h. der split-Funktion übergebe ich lediglich die Adresse des Pointers, sehe ich das richtig? Würde es denn auch gehen, hier einen Doublepointer zu übergeben? (Wahrscheinlich müsste man davor die Matrix definieren? )
Jetzt bin ich wenigstens ein bisschen schlauer, mal schauen, ob ich nach der Einführungsaufgabe, die restlichen schaffe
Edit: Falscher Code Der Link funktioniert bei mir nicht