从 TagLib 到 QString、Qt C++的".mp3"元数据
".mp3" metadata from TagLib to QString, Qt, C++
我正在尝试使用taglib和格式"艺术家 - 专辑-Song -Song(Year).mp3"重命名.mp3文件,然后将它们移至新目录,到目前为止,我使用
TagLib::FileRef f(dirIt.filePath().toStdString().c_str());
QString newName = f.tag()->artist().toCString() + " - " + f.tag()->album().toCString() + " - " + (QString) f.tag()->track() + " (" + (QString) f.tag()->year() + ")";
QString newPath = NewDir.absolutePath() + QDir().separator() + newName + ".mp3";
QFile::copy(oldDir, newPath);
QFile::remove(dirIt.filePath().toStdString().c_str());
其中" dirit"是一个qdiriterator(我正在迭代歌曲所在的文件夹)和" olddir" QString,该QString带有我迭代的文件夹的绝对路径。
当我试图给出" newname"所需的值时,我的问题就来了,我得到了
错误:类型为" const char*"answers" const char [4]'的操作数无效 二进制"操作员 " qString newName = f.tag() -> Artist()。tocstring() " - " f.tag() -> pream()。 " - " (qString)f.tag() -> track() "(" (qString)f.tag() -> year()() ")";
我该如何解决?
使用格式字符串来构建新名称的字符串:
QString newName("%1% - %2% - %3% (%4%)");
newName = newName.arg(f.tag()->artist().toCString()).arg(f.tag()->album().toCString()).arg(f.tag()->track()).arg(f.tag()->year());
相关文章:
- 在C++中打印指向不同基元数据类型的指针的内存地址
- 以非特权用户身份查询 NTFS 特殊文件的元数据?
- 如何使用 Google Test 向测试添加元数据 / 如何将数据从 Google Test 发送到 TestEven
- 将复杂的非基元C++数据类型转换为 Erlang/Elixir 格式,以使用 NIF 导出方法
- 从模板创建通用打印函数,以打印基元数据类型变量的值
- 在 C++ 中修改 Grpc 双向流式处理期间的元数据
- cpp / c ++中的grpc客户端代码,元数据x-api-key/x-goog-api-key不起作用,给了我语音A
- 如何使用gRPC在客户端和服务器之间双向发送和接收流元数据
- 即使基类和派生类只使用基元数据类型,我是否需要定义虚拟析构函数
- 如何处理错误"E1696命令行错误:无法在Visual Studio 2017中打开元数据文件"mscorlib.dll"?
- 元数据操作失败LNK2022错误 (8013118D):重复类型中的布局信息不一致 (选择设备参数):(0x020002
- C++11 标准中的哪一部分规定了基元数据类型大小之间的相对顺序?
- 使用 ffmpeg 添加元数据信息
- WIC - Exif 元数据查询 - 如何获取图像说明
- 从Qt应用程序读取元数据
- 如何将编译时元数据/行为添加到特定函数
- 从编码域中的 MPEG 文件中读取元数据
- 从MP3获取无元数据(ID3)的数据的方法
- 从 TagLib 到 QString、Qt C++的".mp3"元数据
- 我如何使用IPropertyStore访问mp3元数据在Windows与c++