gpt4 book ai didi

c++ - c++ 中字符串的动态构造 - 什么是更 c++-ish 的方法来做到这一点?

转载 作者:太空狗 更新时间:2023-10-29 23:25:45 25 4
gpt4 key购买 nike

我想构建一个带有不断变化的后缀的字符串标签。这将发生在 for 循环中。 (后缀是循环通过的值)。这就是我在 C 中的做法 - 是否有更像 C++ 的方式来做到这一点?

for (int i = 0; i<10; i++)
{
char label[256];

sprintf(label, "Label_no_%d", i);

// convert label to a c plus plus string

// Do stuff with the string here
}

最佳答案

您可以使用字符串流:

for (int i = 0; i<10; i++)
{
std::ostringstream label;

label << "Label_no_" << i;

// use label.str() to get the string it built
}

这些让你使用 operator<< ,就像您对 std::cout 所做的那样或文件,而是写入内存中的字符串。

或者您可以使用 Boost.Format ,它的行为更像 sprintf带有 C++ 接口(interface)。

关于c++ - c++ 中字符串的动态构造 - 什么是更 c++-ish 的方法来做到这一点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9247690/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com