#include #include #include #include #include #include #include "baseconv.h" int main(void) { uintmax_t num; printf("Number? "); if (scanf("%ju", &num) != 1) { fprintf(stderr, "Invalid input\n"); return 1; } size_t base; printf("Base? "); if (scanf("%zu", &base) != 1) { fprintf(stderr, "Invalid input\n"); return 1; } size_t bufsize; printf("Buffer size? "); if (scanf("%zu", &bufsize) != 1) { fprintf(stderr, "Invalid input\n"); return 1; } char *buf = malloc(bufsize); if (!buf) { fprintf(stderr, "Failed to allocate %zu bytes\n", bufsize); return 1; } if (!baseconv(buf, bufsize, base, num)) { fprintf(stderr, "Conversion error\n"); free(buf); return 1; } printf("%s\n", buf); free(buf); }