linuxwrite函数有返回值但是没有输出

linuxwrite函数有返回值但是没有输出,第1张

函数定义:ssize_t write (int fd, const void * buf, size_t count)

函数说明:write()会把参数buf所指的内存写入count个字节到参数fd所指的文件内。

返回值:如果顺利write()会返回实际写入的字节数(len)。当有错误发生时则返回-1,错误代码存入errno中。

附加说明:

(1)write()函数返回值一般无0,只有当如下情况发生时才会返回0:write(fp, p1+len, (strlen(p1)-len))中第三参数为0,此时write()

时隔4年了,一切是否是从前的模样?

首先利用system()的返回值是否为0,只有返回值是0的情况下才认为成功。

还可以进一步增加可靠性,将wget的返回值重定向到文件中,然后再去读取结果文件,来判断下载是否成功。

这边需要注意,wget的结果输出不是stdout而是stderr,所以在重定向结果到文件中的时候需要将stderr定向到文件。最下面有个例子:

wget ftp://192.168.0.1/test.txt 2>res.txt 1>&2


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8667174.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-19
下一篇2023-04-19

发表评论

登录后才能评论

评论列表(0条)

    保存