|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Mar 2010
Messaggi: 4
|
[C]Una stringa un pò..particolare
salve!
da specifiche mi è richiesto di produrre una stringa di questo tipo: nome_utente\0messaggio col terminatore di stringa a dividere la stringa. non capisco come potrei realizzarla. ho provato a farla in questo modo: Codice:
sprintf(msg_snd->buffer,"[%s]\0%s",user,msg); Codice:
sprintf(msg_snd->buffer,"[%s]%s",user,msg); punt=(msg_snd->buffer)+strlen(user)+1; punt='\0'; |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2010
Messaggi: 466
|
Codice PHP:
__________________
I robot hanno scintillanti fondoschiena metallici che non dovrebbero essere baciati. |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: May 2001
Messaggi: 12939
|
E poi come la tratti?
Il terminatore è appunto un terminatore e dovrebbe stare alla fine della stringa, molte funzioni C si aspettano questo. Consiglio caldamente a chiunque ti abbia dato queste specifiche di fare un po' di ripasso di C. |
|
|
|
|
|
#4 | |
|
Senior Member
Iscritto dal: Feb 2010
Messaggi: 466
|
Quote:
Separare le stringhe o accedere alle successive risulta banale se si usano i puntatori...
__________________
I robot hanno scintillanti fondoschiena metallici che non dovrebbero essere baciati. |
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Feb 2006
Messaggi: 1304
|
A volte può avere senso: per esempio m'è capitato di ricevere in ingresso il contenuto di un file contenente un sacco di nomi e cognomi; in certe condizioni è possibile evitare di duplicare la memoria e allocare ai vari oggetti solo puntatori all'inizio di ogni nome/cognome, sostituendo gli spazi con dei terminatori.
Ovviamente è un'hack epico, ma trattandosi di C tutto fa brodo |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:50.




















