Estoy tratando de enviar un número entero con tubería en un sistema POSIX pero la función write()
está trabajando para enviar datos de cadena o caracteres. ¿Hay alguna forma de enviar un entero con una tubería?Cómo enviar un entero con tubería entre dos procesos!
Saludos
Cada puntero se puede lanzar a un * Char. Pero no estoy seguro si todo lo contrario es correcto sin violar las estrictas reglas de aliasing. –
@cebewee: No estoy seguro de cuál es su pregunta. '(short *) (char *) & n' violará el aliasing estricto cuando se desreferencia. Pero 'short first_two_bytes; memcpy (& first_two_bytes, & n, sizeof (first_two_bytes)); 'no infringe el alias estricto. – aschepler
@cebewee - No es char *, es nulo *. Y cada puntero puede ser un vacío *. Aunque es posible que aún tengas razón. Esto podría violar las reglas de aliasing estrictas y el valor de 'n' en el segundo caso podría no cambiar. – Omnifarious