web-dev-qa-db-ja.com

QFileからファイル名を取得しますか?

例えば:

QFile f("/home/umanga/Desktop/image.jpg");

ファイル名-"image.jpg"のみを取得する方法は?

QFileInfo を使用して、パス(ある場合)を取り除きます。

QFileInfo fileInfo(f.fileName());
QString filename(fileInfo.fileName());
90
Arnold Spence

必ずしも最良とは限らない1つのアプローチ:QFileから、 QFile::fileName() を使用してファイル仕様を取得できます。

QFile f("/home/umanga/Desktop/image.jpg");
QString str = f.fileName();

次に、 QString::split のような文字列機能を使用できます。

QStringList parts = str.split("/");
QString lastBit = parts.at(parts.size()-1);
13
paxdiablo

さらに、ファイル名とファイルパスをQFile fで区切る

QString path = f.fileName();
QString file = path.section("/",-1,-1);
QString dir = path.section("/",0,-2);

追加のfileInfoを作成する必要はありません。

8
refuzee