string en C, concatenation etrange - C - Programmation
Marsh Posté le 09-03-2005 à 12:40:24
Code :
|
ne change rien le /0 donne la fin d une string, cest bien la que je dois linserer
Marsh Posté le 09-03-2005 à 12:42:52
Ouais mais nan. Tu rajoute quand même ton 0xFF. Il faut 0xFF et \0
Marsh Posté le 09-03-2005 à 13:32:12
Ton strcat n'est pas bon.
Tu n'as pas alloué de mémoire pour pouvoir ajouté ton "string" après "command".
Remplace plutôt "command" par quelque chose du genre : char command[255]
Edit : En principe faudrait vérifier la taille de string avant ton strcat pour être sûr de ne pas dépasser. (Overflow) A moins que tu sois sûr que string ne dépassera jamais xx caractères
Marsh Posté le 09-03-2005 à 13:55:19
xiluoc a écrit :
|
Ceci est interdit, car
|
Fonctionne à condition que la taille de 'command' soit suffisante (strncat() est plus sûr...)
Dans l'industrie ou utilise plutôt l'allocation dynamique, voir un objet automatique comme FSTR (Flexible STRing) de ma bibliothèque :
http://mapage.noos.fr/emdel/clib.htm
Marsh Posté le 09-03-2005 à 11:36:06
,
Pourquoi le fait de faire ca au milieu
length = strlen(command);
command[length] = 0xff;
me rajoute quelquechose apres 0xff (le ÿ)
ÿ definit la fin de notre message lors de lenvoie au serveur via socket.
d ou viens e70 ? j en veus pas.