求助:关于KEIL中int型的取值范围是多少?(已解决)

2020-02-21 21:10发布

本帖最后由 wangpengcheng 于 2014-6-29 16:23 编辑

我目前遇到的问题是:在MQX中,读取文件的时候,用_mqx_int _io_fseek( MQX_FILE_PTR file_ptr,  _file_offset  offset,   _mqx_uint  mode)函数来定位,但是我看了一下MQX中 _file_offset 的定义是int型的,我的理解是从-65535到+65535,所以当我文件超过64K的时候,问题就来了,我写不进去了,因为offset变成负数了!

看看哪位高手对此有什么见解?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
39条回答
zhw950
1楼-- · 2020-02-21 22:10
keil 中 int 占两个字节,范围-32768  +32767, unsigned int 0-65535。  用long型,占用4个字节  ,范围:-2147483648  +2147483647
wangpengcheng
2楼-- · 2020-02-22 02:06
zhw950 发表于 2014-6-29 15:29
keil 中 int 占两个字节,范围-32768  +32767, unsigned int 0-65535。  用long型,占用4个字节  ,范围:- ...

刚才跟了一下,好像问题不在这里,我写100000进去也没有问题啊!还得再看看!
lcofjp
3楼-- · 2020-02-22 08:04
wangpengcheng 发表于 2014-6-29 15:56
刚才跟了一下,好像问题不在这里,我写100000进去也没有问题啊!还得再看看! ...

一般8位、16位单片机的int位16位。32位机的int位32位。
wangpengcheng
4楼-- · 2020-02-22 13:57
lcofjp 发表于 2014-6-29 16:07
一般8位、16位单片机的int位16位。32位机的int位32位。

是的,问题不在范围上,在MSD中,我刚才跟踪了一下,发现MSD在拷文件的时候不定时就跳到文件开始的位置重新拷贝,郁闷!此帖结帖了!谢谢!
lyzhangxiang
5楼-- · 2020-02-22 17:07
 精彩回答 2  元偷偷看……
songjie
6楼-- · 2020-02-22 22:03
用  sizeof 可以判断int吧~

一周热门 更多>