#include #include #include #include #include #include char *find_little_endian(const char *word) { size_t word_len = strlen(word); char *little_endian = (char *)malloc((2 * word_len + 1) * sizeof(char)); for (size_t i = word_len; i-- > 0;) { snprintf(&little_endian[(word_len - 1 - i) * 2], 3, "%02X", (unsigned char)word[i]); } little_endian[2 * word_len] = '\0'; return little_endian; } char *find_big_endian(const char *word) { size_t length = strlen(word); char *big_endian = (char *)malloc((2 * length + 1) * sizeof(char)); for (size_t i = 0; i < length; i++) { snprintf(&big_endian[i * 2], 3, "%02X", (unsigned char)word[i]); } big_endian[2 * length] = '\0'; return big_endian; } int main(int argc, char *argv[]) { if (argc != 2) { return 1; } puts(find_little_endian(argv[1]));; puts(find_big_endian(argv[1])); }