Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [C] Far ritornare una stringa add una funzione ?

    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

  2. #2
    return str; no?

  3. #3
    Potrebbe essere ma poi come la assegno ad una variabile nel main

    void main() {
    char *str2;
    str2 = miaFunz()
    }
    Non Funziona !

  4. #4
    sinceramente non sono esperto di C... ma credo che dovresti restituire l'indirizzo al primo carattere della stringa...

  5. #5
    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

  6. #6
    Originariamente inviato da nightfall
    Potrebbe essere ma poi come la assegno ad una variabile nel main

    void main() {
    char *str2;
    str2 = miaFunz()
    }
    Non Funziona !
    Che significa non funziona? Postate sempre l'errore!!!!
    Devi mettere che la funzione restituisce un puntatore
    codice:
    char* m;
    
    m = miaFunz();
    
    char* miaFunz(){
       char *mia = "miastringa";
       return mia;
    }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.