我正在做一个家庭作业,我需要打印到控制台和一个文本文件,数字0-255以及与它们一起的Hex和Ascii。
作业的主要重点是学习格式和文件处理。
我已经通过使用宽度找出所有漂亮的格式,我可以将文件打印到文件没问题。
我正在%d %X %c
使用printf()
。
我的烦恼是,ASCII 11,12和13(???)类似于tab,lf和其他一些非图像char。
这完全搞砸了这两行,我对这样的东西很肛门。
是否有一种快速简便的方法可以让其他内容显示出来,而不会影响我的列和行,或者我需要输入if
- 语句并自行过滤这些人吗?
答案 0 :(得分:4)
您需要过滤掉自己不想打印的内容。
要获得帮助,请查看isgraph
和其他is*
函数。他们应该很好地帮助你。
答案 1 :(得分:1)
大多数底部字符不可打印。你必须打印别的东西。我能想到的最好的事情是为最低的32个字符创建一个字符串数组,这是有问题的,并从那里打印最低的32,而你使用普通打印(但是,你需要某种if)。
答案 2 :(得分:1)
这些字符称为"Control Characters",如果只为它们分配一个字符空间,则很难打印。
您应该能够通过拨打iscntrl()
来捕获所有这些内容并在其位置打印更方便的内容。