Cuando se reciben datos a través de un conector usando recv, me he dado cuenta de que, con:matriz de caracteres vs puntero char
char buffer[4]; memset(buffer, 0, 4); recv(socket, buffer, 4, 0);
recibo
mesgx
"mesg" es lo que envié, con algunos caracteres aleatorios añadidos.
Si uso
char * method = (char *) malloc(4); memset(buffer, 0, 4); recv(socket, buffer, 4, 0);
lugar, recibo
mesg
Así que no hay cosas al azar añade a mis cadena. Descubrí que si uso char [5] también funciona, pero realmente no entiendo por qué. ¿Malloc (4) realmente asigna 5 bytes, el quinto es un NUL?
Lo pensé mucho, pero ¿por qué funciona con malloc? – fresskoma