私はItunesライブラリ(正確には844)にいくつかの重複した曲を持っているので、重複を見つけて破壊する小さなプログラムを書くと思った。私が遭遇した問題は、いくつかのディレクトリが正しく読み込まれていないことです。明らかに、例えばQFileSystemのentryInfoが完全なディレクトリ名を返さない
アルバムのフォルダ名のいずれかがある「巻、グレイテストヒッツ。2」でも読まれる「グレイテストヒッツを、巻」
「」問題を引き起こしています。誰も私が(ピリオド付きの)完全なファイルパス名を読むことを可能にする回避策を知っていますか?コード
QString name;
int id;
for (int a = 0; a < dir.entryList(QDir::Files | QDir::AllDirs | QDir::NoDotAndDotDot).length(); ++a)
{
name = path() + "/" + baseName() + "/" + dir.entryList(QDir::AllEntries | QDir::NoDotAndDotDot).at(a);
subFiles.append(new CKClone(id, path() + "/" + baseName() + "/" + dir.entryList(QDir::AllEntries | QDir::NoDotAndDotDot).at(a), this));
// Updating the ID number to account for descendants.
id = subFiles.last()->countDescendants(id);
}
上記のコードの
小さなsnipitは、独自の全体の束をしない、明らかに単なる小さなsnipitです。すべてのファイルとディレクトリを再帰的に読み込むだけです。
すべてのヘルプは感謝
JEC
あなたが正しく、私はエントリを何度もポーリングしていました。私は深夜にコード化するときに何が起こるのですか:)ありがとう – jecjackal