我想使用QString.split('')方法将输入命令拆分为命令
QStringList commandList = command.split(' ');
但是命令在其末尾有一个UNIX路径。即它看起来像
QString command = new QString("caommand -a -b /path/to\ specific/file");
path命令由用户在运行时指定(用户转义路径中的任何空格)。出于某种原因,command.split('');不会逃离空间。
我是QT的新手,它如何逃离空间?
感谢您的帮助
答案 0 :(得分:0)
您可以使用QDir::toNativeSeparators()
将其转换为unix样式。并且通过空格拆分收到的结果,但你必须弄清楚命令之间的空格在哪里以及文件名中可能的空格在哪里
例如:
QString myUnixPath = QDir::toNativeSeparators("/home/path with spaces/");
将返回unix样式路径,而
QString qtPath = QDir::fromNativeSeparators("/path/with\ spaces/");
将使用spaces /
返回/ path