Torna indietro   Hardware Upgrade Forum > Software > Programmazione

DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI porta un importante aggiornamento alla sua linea di gimbal camera tascabili con Osmo Pocket 4: sensore CMOS da 1 pollice rinnovato, gamma dinamica a 14 stop, profilo colore D-Log a 10 bit, slow motion a 4K/240fps e 107 GB di archiviazione integrata. Un prodotto pensato per i creator avanzati, ma che convince anche per l'uso quotidiano
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA
Al .NEXT 2026 di Chicago, Nutanix ha mostrato quanto sia cambiata: una piattaforma software che gestisce VM, container e carichi di lavoro IA ovunque, dall’on-premise al cloud pubblico. Con un’esecuzione rapidissima sulle partnership e sulla migrazione da VMware
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 11-04-2011, 10:38   #1
agosteeno
Member
 
Iscritto dal: Aug 2009
Messaggi: 119
[c] errore strtok

Salve a tutti, sto' realizzando una funzione che deve smontare una stringa in alcune sotto stringhe. Passo per parametro la stringa da smontare e i puntatori alle sottostringhe (in modo che al ritorno dalla funzione in esse ci siano i valori) e un puntatore a double per il terzo parametro.
La stringa e ha questo formato:
primastringa:secondastringa:numerodouble

Questo il codice della funzione:

Codice:
bool_t smontaStringa(char *e, char **sorg, char **dest, double *dist)
{
	*sorg = strtok(e, ":");
	*dest = strtok(NULL, ":");

	*dist = strtod(strtok(NULL, ":"), NULL);
	if(*dist == 0) return (FALSE);

	printf("test smontaStringa: %s, %s, %e", *sorg, *dest, *dist);

	return TRUE;
}
bool_t e' un enum per simulare i booleani, ma alla fine e' un intero

Il codice di test e' questo:

Codice:
int main()
{
        char *sorg = (char *) malloc(50);
	char *dest = (char *) malloc(50);
	double dist;
        char *ss = "pisa:livorno:22,4";
        if(smontaStringa(ss,&sorg,&dest,&dist))printf("Corretto!\n");
	else printf("passo 1: Errato!\n");

        return 0;
}
Alla prima esecuzione di strtok mi da' un segmentation fault e non capisco cosa sbaglio. Ultimamente ho programmato parecchio in Java, quindi ho perso un po' di manualita' col c, qualcuno ha capito cosa sbaglio? Credo sia l'allocazione di memoria delle stringhe passate come parametro, ma sinceramente nn mi rendo conto di cosa non vada.
agosteeno è offline   Rispondi citando il messaggio o parte di esso
Old 11-04-2011, 10:52   #2
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Quote:
Originariamente inviato da agosteeno Guarda i messaggi
Codice:
        char *ss = "pisa:livorno:22,4";
Ci scommetto quello che vuoi che la stringa tra virgolette è in una zona di memoria non scrivibile.
Fai così:
Codice:
char ss[] = "pisa:livorno:22,4":
e riprova. Dovrebbe funzionare.
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 11-04-2011, 11:06   #3
agosteeno
Member
 
Iscritto dal: Aug 2009
Messaggi: 119
Hai vinto la scommessa!!! ho perso la mano coi puntatori, non mi e' proprio venuto in mente! Grazie mille per l'aiuto!
agosteeno è offline   Rispondi citando il messaggio o parte di esso
Old 11-04-2011, 13:29   #4
sottovento
Senior Member
 
L'Avatar di sottovento
 
Iscritto dal: Nov 2005
Città: Texas
Messaggi: 1722
Guarda che stai creando dei memory leak
__________________
In God we trust; all others bring data
sottovento è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abbiamo provato il tris d'assi di NZXT NZXT H9 Flow RGB+, Kraken Elite 420 e F140X: abb...
Huawei FusionSolar Roadshow 2026: l'inno...
Nuovo trailer per Street Fighter: un fil...
Sovranità sui dati: arriva la pri...
Schede video NVIDIA e AMD di nuovo su Ma...
Robot aspirapolvere, TV OLED, iPhone 17 ...
EUREKA J15 Pro Ultra super interessante ...
Intel porta l'AI nei notebook entry-leve...
6000 mAh, 5G e 108MP a meno di 200€: ecc...
FRITZ!Mesh Set 2700: Wi-Fi 7 in tutta la...
Amazfit Cheetah 2 Pro: lo smartwatch per...
Intel, focus su GPU workstation e datace...
Addio definitivo a iOS 26.4, Apple blocc...
EPYC di nuova generazione: AMD supporter...
AMD, Arm e Qualcomm scommettono su Wayve...
Intel potrebbe estendere la vita del soc...
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: 16:45.


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