温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

C++中format函数的用户自定义格式化

发布时间:2024-10-11 09:54:35 来源:亿速云 阅读:83 作者:小樊 栏目:编程语言

在 C++ 中,你可以使用 std::string 类的 findsubstr 成员函数来构造自定义的格式化字符串。以下是一个示例代码:

#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 的函数,该函数接受一个格式化字符串和两个整数值作为参数。然后,我们使用 findsubstr 函数来查找和提取格式化字符串中的占位符,并将它们替换为相应的整数值。最后,我们将结果字符串返回给调用方。

main 函数中,我们定义了一个包含占位符的格式化字符串和两个整数值,并调用 format 函数来生成格式化后的字符串。然后,我们将格式化后的字符串输出到控制台上。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c++
AI