在C++中,可以使用字符串处理函数和流操作符来读取由反斜杠分隔的键对应的值。下面是一个示例代码:
#include <iostream>
#include <string>
#include <sstream>
std::string getValueByKey(const std::string& input, const std::string& key) {
std::istringstream iss(input);
std::string token;
while (std::getline(iss, token, '\\')) {
std::size_t found = token.find(':');
if (found != std::string::npos && token.substr(0, found) == key) {
return token.substr(found + 1);
}
}
return "";
}
int main() {
std::string input = "key1:value1\\key2:value2\\key3:value3";
std::string key = "key2";
std::string value = getValueByKey(input, key);
if (!value.empty()) {
std::cout << "Value for key '" << key << "' is: " << value << std::endl;
} else {
std::cout << "Key '" << key << "' not found." << std::endl;
}
return 0;
}
在上述代码中,getValueByKey
函数接受两个参数:输入字符串input
和要查找的键key
。它使用std::istringstream
将输入字符串分割为多个键值对,并通过循环遍历每个键值对。对于每个键值对,它使用find
函数查找冒号分隔符,然后检查键是否匹配。如果找到匹配的键,则返回对应的值。
在main
函数中,我们提供了一个示例输入字符串和要查找的键。然后调用getValueByKey
函数获取对应的值,并根据返回的值进行相应的输出。
请注意,这只是一个简单的示例代码,实际应用中可能需要根据具体需求进行适当的修改和错误处理。
领取专属 10元无门槛券
手把手带您无忧上云