一 环境:
1桌面环境: ubuntu16.04
2 qt版本:5.7
本次应用: 调用system()时发现使用的参数为char*,虽然直接使用双引号内写入所调命令也可以 如打开文件管理器:
system("nautilus");
当使用的命令需要根据条件变化时,如一些文件路径等,这样的方式就比较繁琐;
qt中使用QString 可以比较方便的处理字符串,于是开始查找 QString转char*的方法使得更便捷的使用system();
二 QString转char*步骤:
1 QString 转 QByteArray
使用 .toLatin1();
2QByteArray 转 char*
使用 .data();
例:
QString strcmd; char *cmd; QByteArray turn;
turn= strcmd.toLatin1();cmd = turn.data();system(cmd); 注:直接QSting转char* 可使用 .toLatin1().data(); 但有时这样会转换错误.strcmd = "nautilus"
三 参考资料
http://www.cnblogs.com/findumars/p/3975723.html