Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Roborock Qrevo Curv 2 Flow: ora lava con un rullo
Qrevo Curv 2 Flow è l'ultima novità di casa Roborock per la pulizia di casa: un robot completo, forte di un sistema di lavaggio dei pavimenti basato su rullo che si estende a seguire il profilo delle pareti abbinato ad un potente motore di aspirazione con doppia spazzola laterale
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite
Abbiamo guidato per diversi giorni la Alpine A290, la prima elettrica del nuovo corso della marca. Non è solo una Renault 5 sotto steroidi, ha una sua identità e vuole farsi guidare
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 25-01-2008, 16:13   #1
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
[C] Qualcuno sa risolvere l'errore?

In qst funzione:
Codice:
/*funzione chiamata dalla inserisci(char*u)*/
nodo*insert_in_albero(nodo*p,char*u){
        int x=strlen(u);                      
        if (p==NULL){
      /*riservo uno spazio per nodo*/                
        p=(nodo*)malloc( sizeof(nodo));
        if(!p){
          printf("Errore di allocazione\n");
          }
                        
        else{
          p->parola= strdup(u); /*copia la stringa u nella sringa p->parola*/
          p->lung_parola=strlen(p->parola); /*prendi la lunghezza della stringa
                                                        p->parola e metti nel campo p->lung_parola*/ 
          p->left=p->right=NULL;
          q=p;
          return p;
        }
        }
              if(strcmp(u,p->parola)<0){            /*se u è lessicograficamente minore di p->parola 
                                                               inseriscilo a sinistra*/
               p->left=insert_in_albero(p->left,u);
               return p;
              }
                                                                                         
                   else if(strcmp(u,p->parola)>0){ /*altrimenti inseriscilo a destra*/
                                   
                                    p->right=insert_in_albero(p->right,u);
                                    return p;
                                                 }                   
                        else {
                                  printf(" %s è una parola già inserita\n",p->parola);
                                   system("PAUSE");
                                   p->parola=u;
                                 return p;
                               }
                      }

mi da un errore in qst riga:
p->parola= strdup(u);/*copia la stringa u nella sringa p->parola*/
dicendomi: [Warning] assignment makes pointer from integer without a cast

come risolvo?

Ultima modifica di Fabietto206 : 27-01-2008 alle 15:35.
Fabietto206 è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2008, 16:23   #2
andrea0032
Member
 
Iscritto dal: Oct 2004
Messaggi: 98
parola l'hai dichiarato come char* ?
la stringa u da dove l'acquisisci?
andrea0032 è offline   Rispondi citando il messaggio o parte di esso
Old 25-01-2008, 19:54   #3
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
Quote:
Originariamente inviato da andrea0032 Guarda i messaggi
parola l'hai dichiarato come char* ?
la stringa u da dove l'acquisisci?
Si, parola è di tipo char*.
u è un parametro della funzione invece!!

Cmq la stringa la inserisco cn la seguente funzione:
Codice:
/*funzione di inserzione di una parola nell'albero*/
void inserisci(char*u){
    q=insert_in_albero(q,u);
    
     }

Ultima modifica di Fabietto206 : 27-01-2008 alle 15:32.
Fabietto206 è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2008, 15:36   #4
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
Nessuno sa aiutarmi?
Fabietto206 è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2008, 17:08   #5
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7262
prova a usare strcpy o ancora meglio strncpy specificando un limite massimo di caratteri da copiare che dipende dallo spazio che hai allocato per la variabile in cui copi la stringa.

Ultima modifica di k0nt3 : 27-01-2008 alle 17:16.
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2008, 17:29   #6
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
prova a usare strcpy o ancora meglio strncpy specificando un limite massimo di caratteri da copiare che dipende dallo spazio che hai allocato per la variabile in cui copi la stringa.
Nn riesco a capire cs vuoi dire!!
Fabietto206 è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2008, 17:38   #7
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7262
Quote:
Originariamente inviato da Fabietto206 Guarda i messaggi
Nn riesco a capire cs vuoi dire!!
strcpy copia il contenuto di una stringa in un'altra stringa. la sua signature è: char *strcpy(char *destination, const char *source)

ora.. ci sono dei problemi se la stringa sorgente è più grande della memoria allocata per la stringa destinazione, quindi è meglio usare strncpy: char *strncpy(char *destination, const char *source, size_t n);
dove "n" è il numero massimo di caratteri da copiare.
ma tu non allochi memoria per la variabile parola vero?
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 27-01-2008, 21:46   #8
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
strcpy copia il contenuto di una stringa in un'altra stringa. la sua signature è: char *strcpy(char *destination, const char *source)

ora.. ci sono dei problemi se la stringa sorgente è più grande della memoria allocata per la stringa destinazione, quindi è meglio usare strncpy: char *strncpy(char *destination, const char *source, size_t n);
dove "n" è il numero massimo di caratteri da copiare.
ma tu non allochi memoria per la variabile parola vero?
No, nn la alloco la memoria x la variabile parola
Fabietto206 è offline   Rispondi citando il messaggio o parte di esso
Old 28-01-2008, 11:50   #9
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7262
Quote:
Originariamente inviato da Fabietto206 Guarda i messaggi
mi da un errore in qst riga:
p->parola= strdup(u);/*copia la stringa u nella sringa p->parola*/
dicendomi: [Warning] assignment makes pointer from integer without a cast

come risolvo?
ah che stupido ho capito adesso qual'è il problema.
dichiara la struct in maniera simile a questa:
Codice:
typedef struct nodo
{
    char* parola;
    int lung_parola;
    struct nodo *left, *right;
} nodo;
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 28-01-2008, 13:00   #10
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
Quote:
Originariamente inviato da k0nt3 Guarda i messaggi
ah che stupido ho capito adesso qual'è il problema.
dichiara la struct in maniera simile a questa:
Codice:
typedef struct nodo
{
    char* parola;
    int lung_parola;
    struct nodo *left, *right;
} nodo;
è già dikiarato così....se vuoi ti posso mandare il codice così vedi x bene...
Fabietto206 è offline   Rispondi citando il messaggio o parte di esso
Old 28-01-2008, 13:01   #11
k0nt3
Senior Member
 
Iscritto dal: Dec 2005
Messaggi: 7262
Quote:
Originariamente inviato da Fabietto206 Guarda i messaggi
è già dikiarato così....se vuoi ti posso mandare il codice così vedi x bene...
sicuro di avere messo typedef struct nodo all'inizio e poi nodo; alla fine? servono tutti e due
k0nt3 è offline   Rispondi citando il messaggio o parte di esso
Old 28-01-2008, 14:37   #12
Fabietto206
Senior Member
 
L'Avatar di Fabietto206
 
Iscritto dal: Jul 2007
Città: Cassano M.go (Va)
Messaggi: 631
Ho fatto così:
Codice:
/*variabili globali */

typedef struct nodo_albero nodo;

    nodo*q=NULL;
   
    nodo*t=NULL;
   
    char *s;
     
char nom[ARRASIZE];

FILE* fp;
/*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
  @      INIZIO FILE .h               @
  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/

/*struttura di un nodo dell'albero*/
struct nodo_albero{
       char*parola;
       int lung_parola;
       struct nodo_albero*left;
       struct nodo_albero*right;
       
       };
Fabietto206 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Roborock Qrevo Curv 2 Flow: ora lava con un rullo Roborock Qrevo Curv 2 Flow: ora lava con un rull...
Alpine A290 alla prova: un'auto bella che ti fa innamorare, con qualche limite Alpine A290 alla prova: un'auto bella che ti fa ...
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Oracle NetSuite si potenzia con nuove fu...
Musica generata con l'IA: Sony lavora a ...
Cyberpunk 2077 in versione PC su smartph...
BYD si gioca un grosso jolly: pronta Rac...
Samsung annuncia l'arrivo in Italia dei ...
Offerta lancio Pixel 10a: come ottenere ...
Google presenta Pixel 10a: poche le novi...
Caos F1 2026: 14 monoposto senza omologa...
Tesla festeggia il primo Cybercab prodot...
Desktop piccolo e potente? NZXT H2 Flow ...
Polestar spinge sull'acceleratore: arriv...
Nuovo record mondiale nel fotovoltaico: ...
L'ultimo baluardo cade: fine supporto pe...
'Il mondo non ha mai visto nulla di simi...
La Commissione europea mette sotto indag...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 20:17.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v