标签:pos 系统 文件 utf-8 返回 乱码 今天 mat 光标移动
系统:win10
今天在使用控制台打印内容时, 发现个人对制表符不是很清楚,在此记录,以便日后查阅.
------------------------------分割线---------------------------
函数: int printf(const char* _Format, ...)
注1:这货竟然有返回值, 返回输出的字符数量
注2:关于输出乱码的问题:printf打印,包括Qt控件上显示的文本,应该都是一个道理,你在源文件上写入的字符串的编码,和你源文件本身的编码是对应的,而在控制台或者控件上显示文本时,此时文本的默认编码方式由系统决定.
例如:在utf-8 格式的文件中写入 printf("中文\n");此时"中文"这两个字就是以utf-8编码方式存在的, 而如果你的控制台默认编码方式是GBK,此时在控制台打印时,他老人家就会以为你传入的字符串为GBK编码,显然这中间存在误会,然后就出现了乱码.
转义字符:
打印字符时常用一些转义字符来达到更好的显示效果,具体如下:
\a (alert)发出蜂鸣或可见警报(我的电脑是win10的提示音)
\b (backspace) 将光标移动到当前位置的前一个位置,如果当前已经在初始位置,则行为不确定
\f (form feed) 在下一个逻辑页开始时将光标移动到该页的初始位置? (原文:Moves the active position to the initial position at the start of the next logical page),查找未果,有机会再说.
\n (new line) 将光标移到下一行
\t (horizontal tab) 将光标移动到当前行的下一个水平列表位置, 如果光标当前位置已经越过了最后一个制表位置,则行为不缺定(我们常用\t来代替四个空格,难道是一直在使用不确定的行为吗..)
\v (vertical tab) 将光标移动到下一个垂直位置的初始制表位置
标签:pos 系统 文件 utf-8 返回 乱码 今天 mat 光标移动
原文地址:https://www.cnblogs.com/mrh2o/p/14698546.html