Linux C 实现mycp 可以显示文件拷贝进度(2)

return 0;
}
/** 得到文件的详细信息 */
int getFileMsg(char* pchCmd,char *pchMsg)
{
    FILE *fstream=NULL; 
    char szBuff[BUFSIZ] = {0};
    char szExcueCommand[150] = {"ls -lh"};

sprintf(szExcueCommand,"%s %s",szExcueCommand,pchCmd);

if (NULL==(fstream=popen(szExcueCommand,"r")))   
    { 
        perror("execute command failed: ");
        return -1;   
    } 
    /** 得到命令的结果 */
    if (NULL == fgets(szBuff, sizeof(szBuff), fstream)) 
    { 
        pclose(fstream); 
        return -1; 
    } 

pclose(fstream);

strcpy(pchMsg,szBuff);
    return 0;
}

Linux下执行结果为:

@linuxidc:~/advance_code/homework/signal$ ./mycp bigfile destbigfile
cp bigfile destbigfile
已复制 3.00 %  还需要  32.3  秒
已复制 5.00 %  还需要  38.0  秒
已复制 8.00 %  还需要  34.5  秒
已复制 10.00 %  还需要  36.0  秒
已复制 12.00 %  还需要  36.7  秒
已复制 13.00 %  还需要  40.2  秒
已复制 14.00 %  还需要  43.0  秒
已复制 17.00 %  还需要  39.1  秒
已复制 20.00 %  还需要  36.0  秒
已复制 21.00 %  还需要  37.6  秒
已复制 24.00 %  还需要  34.8  秒
已复制 24.00 %  还需要  38.0  秒
已复制 27.00 %  还需要  35.1  秒
已复制 32.00 %  还需要  29.8  秒
已复制 33.00 %  还需要  30.5  秒
已复制 35.00 %  还需要  29.7  秒
已复制 38.00 %  还需要  27.7  秒
已复制 41.00 %  还需要  25.9  秒
已复制 42.00 %  还需要  26.2  秒
已复制 43.00 %  还需要  26.5  秒
已复制 44.00 %  还需要  26.7  秒
已复制 48.00 %  还需要  23.8  秒
已复制 50.00 %  还需要  23.0  秒
已复制 52.00 %  还需要  22.2  秒
已复制 53.00 %  还需要  22.2  秒
已复制 53.00 %  还需要  23.1  秒
已复制 57.00 %  还需要  20.4  秒
已复制 59.00 %  还需要  19.5  秒
已复制 61.00 %  还需要  18.5  秒
已复制 63.00 %  还需要  17.6  秒
已复制 63.00 %  还需要  18.2  秒
已复制 66.00 %  还需要  16.5  秒
已复制 69.00 %  还需要  14.8  秒
已复制 70.00 %  还需要  14.6  秒
已复制 72.00 %  还需要  13.6  秒
已复制 73.00 %  还需要  13.3  秒
已复制 75.00 %  还需要  12.3  秒
已复制 78.00 %  还需要  10.7  秒
已复制 79.00 %  还需要  10.4  秒
已复制 82.00 %  还需要  8.8  秒
已复制 83.00 %  还需要  8.4  秒
已复制 84.00 %  还需要  8.0  秒
已复制 87.00 %  还需要  6.4  秒
已复制 90.00 %  还需要  4.9  秒
已复制 91.00 %  还需要  4.5  秒
已复制 93.00 %  还需要  3.5  秒
已复制 93.00 %  还需要  3.5  秒
已复制 96.00 %  还需要  2.0  秒
已复制 99.00 %  还需要  0.5  秒
已复制 100.00 %  还需要  0.0  秒
复制完成,耗时 50 秒

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6b93df1aa66ac6bb2d372d8c87c20544.html