我有一个Qfile
,其中fileName =" d://f1/f2/img.jpg"。我只想要文件的地址(" d:// f1 / f2)。如何在不转换为QfileInfo
的情况下获取它?
答案 0 :(得分:1)
QString folder=file.fileName().section("/",0,-2);
.section
函数将qstring的内容分开并将其标记如下:
_______________________________
| d: | / | /f1 | /f2 | /img.jpg |
-------------------------------
| 0 | 1 | 2 | 3 | 4 |
-------------------------------
| -5 |-4 | -3 | -2 | -1 |
-------------------------------
所以部分(" /",0,-2)将返回:d:// f1 / f2
答案 1 :(得分:1)
检查此链接:
http://doc.qt.io/qt-4.8/qfileinfo.html#absolutePath
文件路径:
QFileInfo fi("c:/temp/foo"); => fi.absoluteFilePath() => "C:/temp/foo"
也是文件基名:
QFileInfo fi("/tmp/archive.tar.gz");
QString base = fi.baseName(); // base = "archive"
答案 2 :(得分:0)
我认为frank-osterfeld的评论是正确的答案:
QString fpath (QFileInfo("/home/me/filename.txt").absolutePath());
std::cout << fpath.toStdString() << std::endl;
打印:
/home/me