#include #include #include void printBits(size_t const size, void const * const ptr) { unsigned char *b = (unsigned char*) ptr; unsigned char byte; int i, j; for (i = size-1; i >= 0; i--) { for (j = 7; j >= 0; j--) { byte = (b[i] >> j) & 1; printf("%u", byte); } } puts(""); } int main(void) { int32_t val = 6341; char buf[sizeof(uint32_t) + 1]; size_t len; if (val <= 0x7f) { len = 1; buf[0] = 0x7f & val; } else if (val <= UINT8_MAX) { len = 2; buf[0] = 0xcc; buf[1] = val & 0xff; } else if (val <= UINT16_MAX) { uint16_t v = (uint16_t)val; len = 3; buf[0] = 0xcd; memcpy(&buf[1], &v, sizeof(v)); } else if (val <= UINT32_MAX) { uint32_t v = val; len = 5; buf[0] = 0xce; memcpy(&buf[1], &v, sizeof(v)); } int r = 0; for (int i = 0; i < 32; i++) { //printf("%c", 'a'); printf("%c", 0x00); printf("%c", 0x00); printf("%c", 0xf7); printf("%c", 0xa9); } printf("%c", 0xa9); printf("%c", 0xf7); //printf("%.*s", (int)len, buf); //printf("%.*s", (int)sizeof(val), &val); /*for (int i = 0; i < 127; i++) { printf("%s", "a"); }*/ //fflush(stdout); //r += fwrite(buf, len, 1, stdout); }