Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 17 su 17
  1. #11
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    633
    Alcuni miei articoli in PRO.HTML.IT: JavaScript | DHTML | DOM
    Sviluppo : wedev | forum

  2. #12
    esatto. Spero possa chiarirti ulteriormente le idee.

    bye
    There are 10 kinds of people in the world: who knows the binary numeration and who not

  3. #13
    Orig. inviato da standard
    xò mi sembra che entrambe le funzioni che mi hai proposto non mi ritornano la stringa concatenata...
    COME NO!???
    Orig. inviato da The Great World
    codice:
    #include <stdio.h> 
    #include <string.h>
    #include <stdlib.h> 
    
    
    char *f(const char *str1, const char *str2){ 
        char *strf;
        strf = (char*)calloc(strlen(str1) + strlen(str2) + 1, sizeof(char)); 
        strcpy(strf, str1); 
        strcat(strf, str2);
        return (strf);
    } 
     
    
    void main(){ 
        char str1[]="conca", str2[]="tena";
        printf("%s\n",f(str1, str2));
    }
    ...Terrible warlords, good warlords, and an english song

  4. #14
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    633
    x Johnny_Depp:
    accidenti che strano quote che hai!!...si vede che sei moderatore
    cmq, grazie, copio e incollo.

    x tutti:
    ora ho capito la logica che bisogna usare:
    "vuoi attaccare due mattoni vicini? assicurati che ci sia sotto la terra! (e assicurati che ci rimanga)"

    ho solo una perplessità:
    che senso ha dare a disposizione una funzione di libreria che concateni stringhe
    (strcat) se bisogna sempre preoccuparsi che non faccia danni da sola?

    e una logica da programmatori o da masochisti?
    Alcuni miei articoli in PRO.HTML.IT: JavaScript | DHTML | DOM
    Sviluppo : wedev | forum

  5. #15
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    633

    non funzia...

    io uso questo codice:

    Codice PHP:
    #include <stdio.h> 
    #include <string.h> 
    #include <stdlib.h>


    typedef struct listaCollegatastruct listaCollegata *pt;
                                   
    char *stringa1;
                                   }
    lista_posizioni;


    lista_posizioni *lista;

    char *f(const char *str1, const char *str2);

    char *f(const char *str1, const char *str2){ 
        
    char *strf;
        
    strf = (char*)calloc(strlen(str1) + strlen(str2) + 1sizeof(char)); 
        
    strcpy(strfstr1); 
        
    strcat(strfstr2);
        return (
    strf);

     

    int main(){
        
    printf("%s\n",f("Salve!\n""come state?"));
        
    lista->stringa1 f("Salve!\n"" come state?");
        
    printf("%s\n",lista->stringa1);
        
    getchar();
        return 
    0;

    beh il primo printf funziona, il secondo no (il programma si blocca con la solita odiosa finestrella...)
    cosa c'è che non va?
    il valore di ritorno sopravvive alla fine della funzione f?
    Alcuni miei articoli in PRO.HTML.IT: JavaScript | DHTML | DOM
    Sviluppo : wedev | forum

  6. #16
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    633

    scusate la fretta

    allora ho capito il mio errore: non allocavo memoria per il puntatore alla struttura.
    così funziona:

    Codice PHP:
    int main(){
        
    printf("%s\n",f("Salve!\n""come state?"));
        
    lista =  (lista_posizioni*)calloc(1,sizeof(lista_posizioni));
        
    lista->stringa1 f("Salve!\n"" come state?");
        
    printf("%s\n",f("Salve!\n""come state?"));
        
    getchar();

        
    free(lista);
        return 
    0;

    domanda: la memoria allocata nella funziona f, come si può deallocare?
    Alcuni miei articoli in PRO.HTML.IT: JavaScript | DHTML | DOM
    Sviluppo : wedev | forum

  7. #17
    Perchè ti sei scordato di sistemare la terra sotto i mattoncini . Devi allocare memoria anche per stringa1, altrimenti e' normale che il programma vada in crash.

    bye
    There are 10 kinds of people in the world: who knows the binary numeration and who not

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.