我有一张基本上看起来像这样的地图......
核心价值
1132--------姓名、艺术家、尺寸、添加日期
1133--------名称2,艺术家2,尺寸2,添加日期2
1134--------名称3,艺术家3,尺寸3,添加日期3
我想编写一个 find() 函数,该函数接受两个参数,特别是按(名称或艺术家)的搜索字符串,然后是特定值,例如歌曲部分的实际名称或艺术家的名字或姓氏。搜索是针对指定数据成员中目标的任何出现。它还需要不区分大小写和标点符号。如果成功,则返回地图的值。如果不成功,则返回“未找到”。对编写此功能有任何帮助吗?
到目前为止,这是我的代码...
MusicEntry MusicLibrary::find(string &search_str, string &value){
for(elements:search_str){
elements += tolower(elements);
}
if(elements == "name" || elements == "artist"){
}
}
在我的functions.h中
struct MusicEntry{
string name, artist, date_added;
long size;
MusicEntry() = default;
MusicEntry(string name_str, string artist_str, long size_int, string date_added_str) :
name(name_str), artist(artist_str), size(size_int), date_added(date_added_str) {};
string to_string();
};
struct MusicLibrary{
map <long, MusicEntry> Music_Map;
MusicLibrary(string file_name);
string to_string();
void insert(MusicEntry Entry);
MusicEntry find(string &search_str, string &value);
};