首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

C++的String.Format

在C++中,std::string类没有提供String.Format方法。但是,您可以使用std::ostringstream来实现类似的功能。

以下是一个使用std::ostringstream实现类似String.Format功能的示例:

代码语言:cpp
复制
#include<iostream>
#include <sstream>
#include<string>

std::string string_format(const std::string& fmt, ...) {
    std::ostringstream oss;
    va_list args;
    va_start(args, fmt);
    for (size_t i = 0; i < fmt.size(); ++i) {
        if (fmt[i] == '{') {
            ++i;
            if (i < fmt.size() && fmt[i] == '}') {
                oss << va_arg(args, int);
            } else {
                oss << '{';
            }
        } else if (fmt[i] == '}') {
            ++i;
            if (i < fmt.size() && fmt[i] == '{') {
                oss << '}';
            } else {
                oss << '}';
            }
        } else {
            oss<< fmt[i];
        }
    }
    va_end(args);
    return oss.str();
}

int main() {
    std::string result = string_format("Hello, {0}! Today is {1}.", "Alice", "Monday");
    std::cout<< result<< std::endl;
    return 0;
}

在这个示例中,string_format函数接受一个格式字符串和一个可变参数列表。它使用std::ostringstream将格式字符串和参数列表合并为一个字符串。在格式字符串中,您可以使用{0}{1}等占位符来表示参数的位置。

请注意,这个实现非常简单,只支持整数参数。如果您需要支持其他类型的参数,您可以修改string_format函数以接受更多的参数类型。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券