Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista
Il nuovo top di gamma vivo punta su un comparto fotografico particolarmente articolato, con un teleobiettivo da 200 megapixel e teleconvertitori esterni capaci di arrivare a 400 mm equivalenti. Lo abbiamo provato a Tenerife, mettendo alla prova fotocamere, prestazioni, autonomia e accessori. Ecco come si è comportato.
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà
Un mondo affollato e vivo, personaggi destinati a sparire a fine test e nessuno a inseguire l'oggetto giusto. Beta e stress test di World of Warcraft: Forever hanno fatto emergere un roleplay spontaneo, tra danze a Goldshire e code ordinate ai PNG
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA
In tre giorni a Las Vegas Oracle ha presentato agenti che eseguono il lavoro, l'alleanza con OpenAI e un cloud aperto agli acceleratori di tutti. Ma i clienti europei chiedono garanzie prima ancora delle funzionalità
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: 7263
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: 7263
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: 7263
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: 7263
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


Recensione vivo X500 Pro Max: la fotografia mobile ha un nuovo protagonista Recensione vivo X500 Pro Max: la fotografia mobi...
WoW Forever: la beta è stato uno dei momenti più alti della storia dei videogiochi, e non si ripeterà WoW Forever: la beta è stato uno dei mome...
Oracle AI World 2026: in Europa prima la sovranità, poi la sicurezza e solo dopo l'IA Oracle AI World 2026: in Europa prima la sovrani...
DS N°7 E-Tense: il SUV premium made in Melfi che punta su autonomia e comfort DS N°7 E-Tense: il SUV premium made in Melfi...
Recensione Samsung Galaxy Tab S12 Ultra: non chiamatelo tablet... è molto di più Recensione Samsung Galaxy Tab S12 Ultra: non chi...
Phantom Blade Zero da record: nelle prim...
Il paradosso di Android 17: è l'u...
Linux cresce ancora tra gli utenti Steam...
Non solo iPhone e Mac: Apple dovrebbe la...
Milioni di box Android TV trasformate in...
La Germania pungola l'Europa e punta a q...
Recensione UGREEN HomeAgent: è ar...
Il meglio di Amazon oggi in 12 articoli ...
Synology, con DSM obsoleto il ransomware...
Windows 11, arriva Cloud Rebuild: si rei...
Trovati possibili globuli rossi fossili ...
Google Pixel 11, prezzi in picchiata su ...
Nove porte e ricarica MagSafe con un sol...
Datacenter AI, in Cina debutta l'aliment...
Full frame? Può aspettare: OM System seg...
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: 12:30.


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