嵌入式设备中内存有限,因此下载的过程中需要限制下载的文件大小。使用wget的时候可以使用-Q参数来限制下载总文件大小,但是这个只能在递归下载中有效。
因此可以使用
sprintf(shellcmd,"wget --spider %s 2>&1 | grep SIZE | awk \'{print $5}\'",fromurl); 这样的命令进行提前取出size的大小。
如果是http格式则可以使用
sprintf(shellcmd,"wget --spider %s 2>&1 | grep Length | awk \'{print $2}\'",fromurl);
通过判断该条命令执行返回的结果使用atoi函数转换为数字进行判断,返回值为字节。