银河麒麟下在程序中将文件夹下的文件拷贝到另一个文件夹失败的原因:
目的目录没有权限,所以需要对其进行权限设置,在控制台输入chmod 777 是可以的,由于本次项目需要在程序中选择文件夹,故而需要在程序中对文件夹进行权限设置,所以使用了system函数,但是在程序中直接使用sprintf(szExcueCommand,"chmod -R 777 %s",dir_str.toUtf8().data());
而没有root权限,是设置不成功的,所以需要加入pkexec
,加入后会弹出输入密码的窗口,只需要输入root用户的密码,即可正常使用
QString dir_str = dstDir;
char szExcueCommand[150] = {0};
sprintf(szExcueCommand,"pkexec chmod -R 777 %s",dir_str.toUtf8().data());
system(szExcueCommand);