Découpage buffer avec sscanf
Bonjour !
J'ai un petit ennui avec sscanf :?
J'ai un buffer qui contient un login et un message, et je souhaite recupérer dans deux tableaux différents le login et le message.
Code:
1 2 3
| char buffer[144];
char login[16];
char msg[128]; |
J'ai tout d'abord essayé de remplir le buffer de cette façon :
Citation:
login\\mon petit message
Puis de faire un sscanf :
Code:
sscanf(buffer,"%s\\%s",login,msg);
Mais ça ne fonctionne pas, tout le buffer va dans login...(enfin ses 16 premiers octets).
Ensuite j'ai essayé :
Citation:
login mon petit message
Code:
sscanf(buffer,"%s %s",login,msg);
Mais c'est pas encore ça, le login est bien dans le bon tableau, mais msg[128] ne contient que le premier mot de "mon petit message" :?
Merci à celui qui peut m'aider à debloquer la situation
Sorry
Re: Découpage buffer avec sscanf
Bonjour,
Citation:
Envoyé par sorry60
J'ai tout d'abord essayé de remplir le buffer de cette façon :
Citation:
login\\mon petit message
Puis de faire un sscanf :
Code:
sscanf(buffer,"%s\\%s",login,msg);
Mais ça ne fonctionne pas, tout le buffer va dans login...
Peut être parce qu'entre guillemets, \ doit être échapé en \\ donc :
Code:
sscanf(buffer,"%s\\\\%s",login,msg);
Devrait mieux marcher ;)
Sinon une petite fonction : Découper une chaîne et rien ne t'empêche de reprendre ce code et plutot que de stocker le résultat de strtok, tu allous un espace mémoire pour y recopier la chaîne.