fzwenbo 发表于 2015-1-29 14:49:47

printf()测试疑问,高手来答,跪拜

/b是退一格,光标向左移一格
/r是回车不换行,光标移到本行行首
/n是回车换行,光标移到下一行行首

为什么结果会是两样?一个是/r结尾,一个是/n结尾
main()
{
printf("123456789\r000\n");
printf("123456789\r000");
}

:funk:在线等,先拜拜伸手的大侠

fzwenbo 发表于 2015-1-29 14:54:44

main()
{
       
        printf("123456789\r000\t123");
        printf("123456789\r000");
       
}

结果竟然是000:sweat:

fzwenbo 发表于 2015-1-29 21:12:43

自己顶一个

freeparty 发表于 2015-1-29 21:51:57

换行符‘\n’和回车符‘\r’

顾名思义,换行符就是另起一行,回车符就是回到一行的开头,所以我们平时编写文件的回车符应该确切来说叫做回车换行符

'\n' 10 换行(newline)
'\r' 13 回车(return)


也可以表示为'\x0a'和'\x0d'.(16进制)

在windows系统下,回车换行符号是"\r\n".但是在Linux等系统下是没有"\r"符号的。

在解析文本或其他格式的文件内容时,常常要碰到判定回车换行的地方,这个时候就要注意既要判定"\r\n"又要判定"\n"。

写程序时可能得到一行,将其进行trim掉'\r',这样能得到你所需要的string了
页: [1]
查看完整版本: printf()测试疑问,高手来答,跪拜