PDA

Visualizza la versione completa : C++ strtok()


stefanoB
12-03-2008, 16:51
riuscite a capire perchè non mi estrae nulla, eppure cicla

char riga[]="ma perchè # non # funziona ????";
char *pezzo=NULL;
pezzo=strtok(riga,"#");

while(pezzo!=NULL) {
MessageBox(hwnd,pezzo,"frase",MB_OK);
pezzo=strtok(NULL,"#");
}


:dhò:

Samuele_70
12-03-2008, 17:25
Il codice che hai postato funziona :)

oregon
12-03-2008, 19:04
Originariamente inviato da Samuele_70
Il codice che hai postato funziona :)

Confermo ... ma il valore di hwnd in

MessageBox(hwnd,pezzo,"frase",MB_OK);

potrebbe essere la causa del problema ... per evitarlo scrivi

MessageBox(NULL, pezzo, "frase", MB_OK);

stefanoB
13-03-2008, 17:31
si adesso funziona, ma pensa te ... eppure hwnd è l'handle della finestra in cui è generato il messaggio !?! :master:

grazie :)

oregon
13-03-2008, 18:10
No ... leggi bene dalla documentazione della MessageBox

http://msdn2.microsoft.com/en-us/library/ms645505(VS.85).aspx

XWolverineX
13-03-2008, 22:46
E' handle della finestra a cui appartiene il messaggio.
Se metti NULL, il MessageBox non ha nessun "proprietario"

Se non ha nessun proprietario, potrai usare tutti i tuoi documenti e tenerti il messaggio aperto come finestra a parte.
Se invece specifichi un HWND, quest'ultimo sarà inutilizzabile finchè non togli di mezzo il popup

stefanoB
14-03-2008, 08:02
ok grazie :)

Loading