Witam
piszę funkcję której zadaniem jest zmiana tablicy znaków na wyjściową, polegająca na zmianie małej litery na dużą i dodanie dwóch spacji. Przykład poniżej
"Lets go to the movies" --> "L E T S G O T O T H E M O V I E S"
"Why isn't my code working?" --> "W H Y I S N ' T M Y C O D E W O R K I N G ?"
kod zamieszczam poniżej
void vaporcode(const char *src, char *dst) {
int j=0;
int char_counter=0;
for(int i=0;i<strlen(src);i++)
if(src[i]!=' ')
char_counter++;
memset(dst,'\0',(char_counter)*3+1);
if(src=="")
dst="";
for(int i=0;i<strlen(src);i++){
if(src[i]!=' '){
dst[j] = toupper(src[i]);
strcat(dst," ");
j+=3;
}
}
dst[j-2]='\0';
}
Funkcja chyba nieprawidłowo obsługuje pustą tablicę bo czasami serwer zwracami mi błąd free() invalid pointer a czasami działa prawidłowo. Czy ktoś może mi powiedzieć gdzie jest błąd?