Taille d'une chaîne formatée
Bonjour,
Je suis fasse à un petit problème.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
int sendSock(int sock, char *buf, ...)
{
char buff[MAX_IO+1];
int len, t_bytes = 0, r_bytes, n;
memset(buff, '\0', MAX_IO+1);
va_list val;
va_start(val, buf);
vsnprintf(buff, MAX_IO - 2, buf, val);
va_end(val);
len = strlen(buff);
r_bytes = len;
while(t_bytes < len) {
n = send(sock, buff+t_bytes, r_bytes, 0);
if (n == -1) {
break;
}
t_bytes += n;
r_bytes -= n;
}
len = t_bytes;
return (n==-1 ? -1: 0);
} |
J'alloue statiquement la taille (MAX_IO) de mon buffer qui va accueillir ma chaîne formatée.
Est il possible de connaître à l'avance la taille pour pouvoir allouer dynamiquement mon buffer ?
Merci