免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 731 | 回复: 0
打印 上一主题 下一主题

转义字符使用实例 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-10-06 14:26 |只看该作者 |倒序浏览

转义字符使用实例
来源:
蚂蚁的 C/C++ 标准编程
作者:antigloss 等级:一般
发布于2006-01-22 17:15 被读2517次 【字体:






下面这个例子演示了 \a、\b、\t、\r,以及 \n 的作用。其中 \b,\t 和 \r 的概念可以追溯到电脑仍然使用打字机作为输出设备的时候,所以对于现代的一些电脑来说,它们可能不起作用。在某些麦金托什机(Macintosh)上,它们的作用就和我们下面所说的不一样。首先请认真看一下以下程序,然后编译运行一下,看看运行结果和您想象的是否一样,然后再看后面的详细解说。
/* esc_sq.c -- 使用转义字符 */
#include >

int main(void)
{
    float height;

    printf("\aPlease enter your height: _____ cm\b\b\b\b\b\b\b\b");
    scanf("%f", &height);
    printf("\tYour height is %.2f.\rOh!\n", height);

    return 0;
}
第一个 printf 通常会引起一声鸣响(\a),同时显示以下提示
Please enter your height: _____ cm
其中活跃位置(光标)在下划线的开端。活跃位置之所以会位于下划线的开端,是因为那八个 \b 把活跃位置后退了八个位置。顺带一题,下划线 _____ 由五个 _ 构成。注意:一般来说,\b 不会擦除前面输出的字符,但是在某些系统,\b 却会擦除前面输出的字符,导致显示结果为 Please enter your height: 。\a 产生的效果取决于硬件。一般来说,输出 \a 会产生鸣响。但是在某些系统,输出 \a 不会产生任何效果,或者仅仅显示一个特殊字符。
    输入一个数后(比如输入 180.5),屏幕的显示会变成
Please enter your height: 180.5 cm
我们输入的数字取代了原来的下划线。接着我们需要按回车确定我们的输入。按下回车键后,
活跃位置会移动到下一行的开端。
       第二个 printf 运行结束后,屏幕显示如下:

    Please enter your height: 180.5 cm
    Oh!     Your height is 180.50.
这是因为 \t 使活跃位置向后移动了若干个位置(通常是八个),然后输出
Your height is 180.50. 。接着 \r 使活跃位置返回当前行的开端,然后输出 Oh! ,
最后 \n 引起换行。
参考资料:C Primer 5th Edition
                       C99 标准


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/11176/showart_395514.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP