In my code here I am trying to return the first part of a string using strtok. But when I do it returns nonsense e.g. 0���. In my case I would want it to return "hi".
char * headPathName(char *path) {
char pathcpy[strlen(path) + 1];
strcpy(pathcpy, path);
char *filename = strtok(pathcpy, "/");
return filename;
}
int main(void) {
char *str = "hi/hello";
char *name = headPathName(str);
printf("%s\n", name);
}
If I add a print statement printf("%s\n", filename);
inside the headPathName
function before it returns I get the error:
I do not know why this is happening any help would be great thanks.