大佬教程收集整理的这篇文章主要介绍了c – 为什么write()返回ssize_t但是接受size_t的参数?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
警告:有符号和无符号整数表达式之间的比较[-Wsign-compare]
这是write()的定义:
ssize_t write(int fd,const void *buf,size_t count); RETURN VALUE On success,the number of bytes written is returned (zero inDicates nothing was written). On error,-1 is returned,and errno is set appropriately.
这对我来说很奇怪.假设ssize_t是int,我最终写了一些大的东西(> 2GB).我不能只使用write()vs count的返回值的比较,可以吗?
(编辑:也许我应该正确地写下我的问题:在没有得到警告的情况下使用write()的正确@L_674_3@是什么,也不会遇到符号转换后计数== -1的情况?是的,我知道它是未定义的行为)
以上是大佬教程为你收集整理的c – 为什么write()返回ssize_t但是接受size_t的参数?全部内容,希望文章能够帮你解决c – 为什么write()返回ssize_t但是接受size_t的参数?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。