关于lseek的参数问题

Tian_sw 2016-09-28 11:22:58
lseek(fd, -10000, SEEK_SET);

最近发现 lseek 的参数为SEEK_SET时,-10000好像会被转换为无符号int,而其他两种SEEK_CUR和SEEK_END不会,不知道为何-10000会被转换为无符号int?按理说应该被隐式转换为long long啊。
...全文
137 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tian_sw 2016-09-28
  • 打赏
  • 举报
回复
建议在虚拟机上试验,不清楚具体会不会损坏文件系统。
Tian_sw 2016-09-28
  • 打赏
  • 举报
回复
void long_long(long long a) { printf("a %lld \n", a); } int main() { long_long(-10000); long_long(-10000l); } 这两个打印的是一样的啊. a -10000 a -10000 为毛-10000和-10000l传到驱动就不一样了。想不明白了。
Tian_sw 2016-09-28
  • 打赏
  • 举报
回复
我擦,参数问题。-10000 竟然被转换成超大正值。为毛??

1,318

社区成员

发帖
与我相关
我的任务
社区描述
主要是开发驱动技术
社区管理员
  • 驱动程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧