我在这段代码中遇到了障碍,而且我会提前说这是一个家庭作业,但我已经完成了大部分工作,所以我觉得可以提出一些指示这最后一件给我带来麻烦的作品。
我必须编写一个程序来读取数字列表,将其打印到stdout,使用冒泡排序对其进行排序,再次打印,然后将其写入指定的输出文件。排序功能正常工作,我已经设置为从命令行读取开关(-i或--input,发信号输入文件; -o或--output,发信号输出文件),这也是好像在起作用。这一切都很好!
我们应该设置它以便它也可以读取:
我对如何处理这两个最后要求感到困惑。我希望我可以说我接近一个解决方案,但我完全消隐,并且非常感谢我能得到的任何帮助。我应该创建一个新函数,它接受一个整数数组的指针,并通过一些转换过程使每个元素成为十六进制?是否有一些更快的方法可以做到这一点,我已经完全错过了内置于C,或者我是否需要对余数和切换案例进行一些工作?
我的bubbleSort函数是否需要调整以适应十六进制输入?我认为它适用于十进制和十六进制输入,但我不完全确定......
答案 0 :(得分:1)
您可以使用%x
格式说明符将整数值转换为十六进制值。
例如:
int data=30;
printf("%x\n", data);
这将输出:1e
答案 1 :(得分:0)
查看fprintf和fscanf的文档,可以将%X放入格式字符串中以读取和写入十六进制表示法。