在 C++ 中,你可以使用 std::string
类的 find
和 substr
成员函数来构造自定义的格式化字符串。以下是一个示例代码:
#include <iostream>
#include <string>
std::string format(const std::string& format, int value1, int value2) {
size_t pos = 0;
std::string result;
while (pos < format.size()) {
if (format[pos] == '{') {
size_t bracePos = format.find('}', pos);
if (bracePos != std::string::npos) {
std::string specifier = format.substr(pos + 1, bracePos - pos - 1);
if (specifier == "value1") {
result += std::to_string(value1);
} else if (specifier == "value2") {
result += std::to_string(value2);
}
pos = bracePos + 1;
} else {
result += format[pos];
pos++;
}
} else {
result += format[pos];
pos++;
}
}
return result;
}
int main() {
std::string formatString = "Hello, {value1}! Today is {value2}.";
int value1 = 42;
int value2 = 13;
std::string formattedString = format(formatString, value1, value2);
std::cout << formattedString << std::endl;
return 0;
}
在这个示例代码中,我们定义了一个名为 format
的函数,该函数接受一个格式化字符串和两个整数值作为参数。然后,我们使用 find
和 substr
函数来查找和提取格式化字符串中的占位符,并将它们替换为相应的整数值。最后,我们将结果字符串返回给调用方。
在 main
函数中,我们定义了一个包含占位符的格式化字符串和两个整数值,并调用 format
函数来生成格式化后的字符串。然后,我们将格式化后的字符串输出到控制台上。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。