PDA

Visualizza la versione completa : [C] concatenare caratteri hex a stringhe


nightfly83
03-03-2009, 20:42
Salve a tutti. Sto realizzando un piccolo client per l'invio di SMS via web. Tale client deve prima connettersi al server, successivamente inviare le credenziali di accesso ed infine inviare i dati relativi all'SMS (mittente, destinatario, testo del messaggio, ecc). Ora, nelle specifiche del server richiesto l'invio di caratteri esadecimali alternati a stringhe. Ad esempio:
chr(3) & sender chr(3) & countrycode e cos via, dove chr(3) rappresenta il valore esadecimale. Dovrei inviare quindi al server una cosa del tipo:
char *sms;
sms=\3sender\3countrycode\3...".
Ovviamente i dati sender, contrycode, testo del messaggio e compagnia bella non li conosco a priori, quindi la stringa sms v costruita in modo dinamico. In particolare, i vari dati li estraggo da un database, successivamente dovrei concatenarli agli hex ed infine inviarli al server. Per fare ci ho pensato di utilizzare la funzione strcat, ma poich "\3" non una vera stringa, ma rappresenta un carattere non stampabile (trattasi nella fattispecie del valore hex a cui mi riferisco), strcat non funziona correttamente. Qualche dritta su come risolvere questo problema? Grazie in anticipo.

oregon
03-03-2009, 21:26
Originariamente inviato da nightfly83
... poich "\3" non una vera stringa ...

Perche' non e' una stringa? E invece lo e' e la strcat funziona ... qual e' il codice che hai scritto e cosa non va?

nightfly83
03-03-2009, 22:55
Ho risolto usando sprintf(). Grazie comunque per l'aiuto.

oregon
03-03-2009, 23:00
Originariamente inviato da nightfly83
Ho risolto usando sprintf().

Questo ti dimostra che \3 puo' essere considerata come una stringa.

Anche strcat avrebbe funzionato.


Grazie comunque per l'aiuto.

Figurati ...

Loading