Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt根据目录内容获取文件目录_Qt_Qt4_Qfile_Qdir - Fatal编程技术网

Qt根据目录内容获取文件目录

Qt根据目录内容获取文件目录,qt,qt4,qfile,qdir,Qt,Qt4,Qfile,Qdir,我在一个目录A下有几个目录和一个文件*.txt,目录路径在QString中 say c:/A/1/2/3/4 c:B/C/A/1/2/3/4/5/6 在我的代码中,我只有完整的路径,现在我想获取目录,直到基于文件*.txt的A(A的名称可以随时更改)为止 inshort:-我想解析所有目录并获取目录,直到从右到左出现*.txt的位置为止您是否试图获取文件路径的字符串?例如,如果文件路径为: C:/Users/Admin/Desktop/file.txt 您希望获得: C:/User

我在一个目录A下有几个目录和一个文件*.txt,目录路径在QString中

say c:/A/1/2/3/4 
    c:B/C/A/1/2/3/4/5/6
在我的代码中,我只有完整的路径,现在我想获取目录,直到基于文件*.txt的A(A的名称可以随时更改)为止


inshort:-我想解析所有目录并获取目录,直到从右到左出现*.txt的位置为止

您是否试图获取文件路径的字符串?例如,如果文件路径为:

C:/Users/Admin/Desktop/file.txt
您希望获得:

C:/Users
如果是这样,您所要做的就是找到“/”的第二个索引位置。你可以这样做:

QString filePath = "C:/Users/Admin/Desktop/file.txt";
int index = filePath.indexOf("/");
index = filePath.indexOf("/",index+1);
QString shortenedPath = filePath.mid(0,index);
这应该给你:

C:/Users/

如果这不是你的意思,那么很抱歉回复太长。

QDir-dd(FilePath);QFileInfo路径文件(dd,“*.cnm”);QString FilePath1=pathFile.path();qDebug()返回的是相同的目录结构为了清楚起见,我认为您应该在问题中添加预期的输出。如果有多个目录名为
A
,例如
c:/B/c/A/1/2/3/4/A/B/c
,该怎么办?哪一个是预期的输出,
c:/B/c/A/
c:/B/c/A/1/2/3/4/A/
?我认为在这种情况下,问题中的
A
等同于您的答案中的
Desktop
。因此,OP想要的是将
C:/Users/Admin/Desktop/1/2/3
提取到
C:/Users/Admin/Desktop/
C:/Users/Admin/Desktop/X/Y/Z
提取到
C:/Users/Admin/Desktop/
…感谢您抽出时间给予回复