Come si fa' a dare come ritorno di una funzione una stringa...
Io ho la mia funzione
char *miaFunz (void) {
char str[22];
gets(str);
}
devo far ritornare la variabile str
Come si fa' a dare come ritorno di una funzione una stringa...
Io ho la mia funzione
char *miaFunz (void) {
char str[22];
gets(str);
}
devo far ritornare la variabile str
Potrebbe essere ma poi come la assegno ad una variabile nel main
void main() {
char *str2;
str2 = miaFunz()
}
Non Funziona !
sinceramente non sono esperto di C... ma credo che dovresti restituire l'indirizzo al primo carattere della stringa...
La stringa la devi passare per puntatore... prova in questo modo:
void miaFunz(char *str) {
/* str=...;
fai le operazioni che vuoi sulla tua stringa */
}
void main(void) {
miaFunz(str); /* passo la stringa per indirizzo
analogo a miaFunz(&str[0]); */
}
Devi far passare l'indirizzo della stringa, se poi lo vuoi usare solo in lettura ti conviene mettere una parola chiave const per evitare che si venga a modificare la tua stringa![]()
Che significa non funziona? Postate sempre l'errore!!!!Originariamente inviato da nightfall
Potrebbe essere ma poi come la assegno ad una variabile nel main
void main() {
char *str2;
str2 = miaFunz()
}
Non Funziona !
Devi mettere che la funzione restituisce un puntatore
codice:char* m; m = miaFunz(); char* miaFunz(){ char *mia = "miastringa"; return mia; }