I'm making a code to remove the file name and type from a path. However, i'm receiving warnings concerning the line where i change the content from a character. How could i get rid of the warning?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char *getPath(char *fullPath){
char *aux;
int a, b, c;
aux = malloc(50 * sizeof(char));
aux = fullPath;
a = strlen(aux);
for(b=0; b<a; b++){
if (aux[b] == '/'){
c = b;
}
}
for(c; c < a; c++){
///PROBLEM HERE
aux[c] = "";
}
///PROBLEM HERE
return aux;
}
int main(void) {
char C[50];
char *path, *filename;
scanf("%s", C);
path = getPath(C);
printf("%s", path);
}
aux[c]is a single character yet you assign it a string, this is not possibleaux = malloc(50 * sizeof(char)); aux = fullPath;does?mallocthen immediately discard the result (by reassigningaux) ?cis used uninitialized if there was no/aux = fullPath;. You should probably be usingstrcpy(), and usingstrlen(fullPath) + 1rather than50.