c++ - 有没有办法像 C++ 中的 printf 那样用参数替换字符串?

标签 c++

我正在编写一个本地化文件,一些文本需要输入数据...这让我想到了 printf 以及我们如何分配 %s 值,然后继续添加参数以按顺序替换它们。

像这样...

printf("This is %s, their last name is %s", "Bob", "Jones");

是否有原生的 C++ 方法来执行此操作并将结果存储在字符串中?

最佳答案

C++ 中,我很可能会这样做:

std::string firstname = "Bob";
std::string lastname = "Jones";

std::ostringstream oss;

oss << "This is " << firstname << ", their last name is " << lastname;

std::string mystring = oss.str();

而且您仍然可以在 C++ 中使用 std::printfstd::sprintf 它们是 C++ 的正式部分 标准。尽管它们的类型安全性较低。

关于c++ - 有没有办法像 C++ 中的 printf 那样用参数替换字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48553098/

相关文章:

c++ - 检查 "1"或 "0"是否位于 "x"的 10 次幂序列 (1101001000...) C++

python - 将 std::vector 作为 numpy 数组返回给 python

c++ - 为什么我可以通过在 C++ 中分配整型常量来初始化 Test 类的对象?

c++ - 简单的概念检查

c++ - 缺少抽象关键字的原因

c++ - C++头文件中定义字符数组

c++ - 使用 operator() 对 std::set 进行排序以对插入进行排序

c++ - linux c/c++ - 奇怪的 if/else 问题

c++ - 如何以编程方式识别 GDB 中打印的线程 ID

c++ - 读取不断更新的文件 (C++)