
linux文件编程中的right函数当写入失败时返回值为-1。
在成功的时候,读取的字节数被返回(0表示文件的结束),并且文件位置被这个数字所增加。如果这个数字小于请求的字节数,那就不是一个错误例如,这可能会发生,因为现在实际可用的字节更少可能是因为我们接近文件结束,或者因为我们从管道中读取,或者从终端读取,或者因为read()被一个信号中断了。在错误中,返回-1,并适当地设置errno。
即调用read时,若所要读取的字节数少于文件中的个数,则返回读取到的字节个数;若要读取的个数多于文件中的个数,这不算错误,也返回的是读取到的字节数;若文件为空了,所返回的值即为0;若读取失败,则返回-1。
这里说的文件位置被这个数字增加的意思是你读取一位,指向字节的文件的光标往后移动一位。
read函数实际读到的字节数少于要求读的字节数时:
读普通文件,在读到要求字节数之前就到达文件尾。当从终端设备读。
当从网络读时,网络中的缓冲机构可能造成返回值小于所要求读的字节数。某些面向记录的设备,如磁带,一次最多返回一个记录。读 *** 作完成后,文件的当前位置将从读之前的位置加上实际读的字节数。当有错误发生时则返回 -1,错误代码存入 errno 中,而文件读写位置则无法预期。
return -1表示函数返回值是-1。return 表示把程序流程从被调函数转向主调函数并把表达式的值带回主调函数,实现函数值的返回,返回时可附带一个返回值,由return后面的参数指定。
return通常是必要的,因为函数调用的时候计算结果通常是通过返回值带出的。
如果函数执行不需要返回计算结果,也经常需要返回一个状态码来表示函数执行的顺利与否(-1和0就是最常用的状态码),主调函数可以通过返回值判断被调函数的执行情况。
在函数中,如果碰到return 语句,那么程序就会返回调用该函数的下一条语句执行,也就是说跳出函数的执行,回到原来的地方继续执行下去。但是如果是在主函数中碰到return语句,那么整个程序就会停止,退出程序的执行。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)