搜索
bottom↓
回复: 9

求教!putchar函数输出0x0A的问题

[复制链接]

出0入0汤圆

发表于 2010-1-5 13:41:50 | 显示全部楼层 |阅读模式
keil程序中写代码如下
putchar(0x0A);
应该是输出0x0A
但是不管是软件仿真还是电路输出,均是 0x0D 0x0A
putchar必然给我加上一个0x0D
查了keil的putchar.c文件,发现它确实自动加入0x0D
问题:
自动加入0x0D有什么用?
在不修改keil原有文件的情况下,如何只输出0x0A?

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2010-1-5 14:37:39 | 显示全部楼层
自动变成了换行吧

出0入0汤圆

发表于 2010-1-5 14:51:32 | 显示全部楼层
“换行”自动变成了“回车”+“换行”

出0入0汤圆

发表于 2010-1-5 14:53:44 | 显示全部楼层
应该是系统库的问题。不要使用系统自带的库函数看看。

出0入0汤圆

 楼主| 发表于 2010-1-5 18:36:06 | 显示全部楼层
向keil投降了~
用自己的函数在本项目中代替putchar没有问题。还有2个问题

1 为什么keil要使用这个“自动”却自作聪明的函数实现

2 我已经有好多个项目有这个问题 ,不希望一个一个的修改,只好修改keil库函数了。具体操作有谁能够指点一二,putchar.c我已经修改过了,如何让keil编译使用新的文件呢 ?希望修改好了之后我的其它项目只需要编译一下下就好了 。

出0入0汤圆

发表于 2010-1-7 11:25:00 | 显示全部楼层
请看这里这里

WINDOWS平台、MAC平台和*NIX平台的差别。

出0入0汤圆

 楼主| 发表于 2010-1-7 13:37:01 | 显示全部楼层
关于回车和换行我明白。
我是想知道为什么putchar这个函数和字面上的解释不同啊。 putchar 难道不是  put a char 么~~~
结果却是 put a char ,and parse a char

出0入0汤圆

发表于 2010-1-14 04:01:46 | 显示全部楼层
这只是Keil的库函数的作者(们)为保证库(在不同平台之间)的兼容性而做的一点小动作而已。


C语言中还有大名鼎鼎的getchar()函数问题呢——从字面上看,它“get”的应该是个“char”,但实质上,getchar()函数的返回值是实实在在的int型,不可深究、不可深究……

出0入0汤圆

发表于 2010-1-14 08:17:47 | 显示全部楼层
用老版本的Keil的飘过,经常用Putchar未发现此种现象。

出0入0汤圆

发表于 2013-8-29 08:14:42 | 显示全部楼层
z1234 发表于 2010-1-14 08:17
用老版本的Keil的飘过,经常用Putchar未发现此种现象。

哪个版本?
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 14:16

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表