从 QFile 获取没有文件名的文件地址
get file address without file name from QFile
我有一个 Qfile
,文件名="d://f1/f2/img.jpg"。我只想要文件的地址 ("d://f1/f2)。如何在不转换为 QfileInfo
的情况下获取它?
QString folder=file.fileName().section("/",0,-2);
.section
函数将qstring中的内容分开,并标注如下:
_______________________________
| d: | / | /f1 | /f2 | /img.jpg |
-------------------------------
| 0 | 1 | 2 | 3 | 4 |
-------------------------------
| -5 |-4 | -3 | -2 | -1 |
-------------------------------
所以 section("/",0,-2) 将 return : d://f1/f2
检查这个 link:
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"
我认为 frank-osterfeld 的评论是正确答案:
QString fpath (QFileInfo("/home/me/filename.txt").absolutePath());
std::cout << fpath.toStdString() << std::endl;
打印:
/home/me
我有一个 Qfile
,文件名="d://f1/f2/img.jpg"。我只想要文件的地址 ("d://f1/f2)。如何在不转换为 QfileInfo
的情况下获取它?
QString folder=file.fileName().section("/",0,-2);
.section
函数将qstring中的内容分开,并标注如下:
_______________________________
| d: | / | /f1 | /f2 | /img.jpg |
-------------------------------
| 0 | 1 | 2 | 3 | 4 |
-------------------------------
| -5 |-4 | -3 | -2 | -1 |
-------------------------------
所以 section("/",0,-2) 将 return : d://f1/f2
检查这个 link:
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"
我认为 frank-osterfeld 的评论是正确答案:
QString fpath (QFileInfo("/home/me/filename.txt").absolutePath());
std::cout << fpath.toStdString() << std::endl;
打印:
/home/me