Itunes ライブラリ (正確には 844) に重複した曲がいくつかあるので、重複を見つけて破棄する小さなプログラムを作成しようと考えました。私が遭遇した問題は、ディレクトリの一部が正しく読み取られていないことです。
たとえば、アルバムのフォルダ名の 1 つが「Greatest Hits, Vol. 2」ですが、「Greatest Hits, Vol.」と読みます。
明らかに「。」問題を引き起こしています。完全なファイル パス名 (ピリオド付き) を読み取ることができる回避策を知っている人はいますか?
コードの小さな断片
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);
}
上記のコードは小さなスニピットにすぎず、明らかにそれだけで多くのことを行うわけではありません。すべてのファイルとディレクトリを再帰的に読み取るだけです。
どんな助けでも感謝します、ありがとう
ジェック