求教!putchar函数输出0x0A的问题
keil程序中写代码如下putchar(0x0A);
应该是输出0x0A
但是不管是软件仿真还是电路输出,均是 0x0D 0x0A
putchar必然给我加上一个0x0D
查了keil的putchar.c文件,发现它确实自动加入0x0D
问题:
自动加入0x0D有什么用?
在不修改keil原有文件的情况下,如何只输出0x0A? 自动变成了换行吧 “换行”自动变成了“回车”+“换行” 应该是系统库的问题。不要使用系统自带的库函数看看。 向keil投降了~
用自己的函数在本项目中代替putchar没有问题。还有2个问题
1 为什么keil要使用这个“自动”却自作聪明的函数实现
2 我已经有好多个项目有这个问题 ,不希望一个一个的修改,只好修改keil库函数了。具体操作有谁能够指点一二,putchar.c我已经修改过了,如何让keil编译使用新的文件呢 ?希望修改好了之后我的其它项目只需要编译一下下就好了 。 请看这里和这里。
WINDOWS平台、MAC平台和*NIX平台的差别。 关于回车和换行我明白。
我是想知道为什么putchar这个函数和字面上的解释不同啊。 putchar 难道不是put a char 么~~~
结果却是 put a char ,and parse a char 这只是Keil的库函数的作者(们)为保证库(在不同平台之间)的兼容性而做的一点小动作而已。
C语言中还有大名鼎鼎的getchar()函数问题呢——从字面上看,它“get”的应该是个“char”,但实质上,getchar()函数的返回值是实实在在的int型,不可深究、不可深究…… 用老版本的Keil的飘过,经常用Putchar未发现此种现象。 z1234 发表于 2010-1-14 08:17 static/image/common/back.gif
用老版本的Keil的飘过,经常用Putchar未发现此种现象。
哪个版本?
页:
[1]