|
发表于 2004-5-29 18:32:45
|
显示全部楼层
最初由 libinary 发表
关于回车符和换行符,如果你用过机械打字机就能比较明白了,打字机上面有一个可以动的小车,小车上有卷纸的滚筒,每打一个字符,小车就移动一个字符的距离,等打完一行以后,用手推小车到原始位置(一行的开头),这个叫回车,转动滚筒,把打字的位置换到下一行,这个叫换行,实际上小车上有一个把手,每次打完一行直接推这个把手就会产生连续动作,先回车后换行,所以计算机里的字符序列也是\r\n。
计算机里\r就是把输出光标移到本行的开头,\n就是下移一行(列位置还和当前的一样),所以应该是\r\n才能移到下一行的开头,不过一般的库函数都自动处理这种情况了,printf("cc\n");库函数直接把\n替换成了\r\n序列,在dos/windows下用cprintf之类的函数就可以看到没有替换的效果(开头的c的意思是con,c打头的函数有好几个,包含在<conio.h>里,最好是borland或MS的编译器,我用Dev-C++试过,不行),在UNIX系统里系统直接处理\n,所以写程序比较简单,不需要我们考虑什么转换,不象dos/win里,文件保存的都是\r\n,用库函数读进来全是\n,要是不用库函数,我们自己还要做转换,不管是转换还是对结果大小的判断都比较麻烦。
应该是:先换行后回车
:p看来你是没用过这种打字机 |
|