我正在做一个家庭作业,其中我需要打印到控制台和一个文本文件,数字0-255,以及相应的十六进制和Ascii。
作业的主要焦点是学习格式化和文件处理。
我已经通过使用宽度计算出了所有漂亮的格式,并且我可以将内容打印到文件中,没有问题。
我正在为我的printf()使用%d %X %c。
我最恼火的是ASCII 11、12和13(?)是类似tab、lf和其他一些非图像字符。
这完全搅乱了这两行,我对这样的事情有点无动于衷。
有没有一种快速简单的方法可以让其他东西显示出来,而不会干扰我的列和行,或者我需要放入if-statements并自己过滤掉这些东西?
发布于 2012-01-22 16:51:45
你需要过滤掉你不想自己打印的东西。
为了对此有所帮助,请查看isgraph和其他is*函数。他们应该会对你有很大的帮助。
发布于 2012-01-22 16:50:55
大多数底部的字符是不可打印的。你得打印一些其他的东西。我能想到的最好的办法是为最低的32个字符创建一个字符串数组,这些字符有问题,从最低的32个字符开始打印,而对其他字符使用普通的打印(但是的,您需要某种if)。
发布于 2012-01-22 16:56:19
这些字符称为"Control Characters",如果只为它们指定一个字符空间,将很难打印。
您应该能够通过调用iscntrl()来捕获所有这些问题,并在它们的位置上打印一些更方便的东西。
https://stackoverflow.com/questions/8959986
复制相似问题