gpt4 book ai didi

c++ - 如何在 C++ Sprintf 第二个(格式)参数中传递变量?

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

我一直在思考如何在 C++ 中实现这一点:

string format = "what is your %s";  
new_string = sprintf(buffer, format, name);

非常感谢任何帮助。

谢谢!

最佳答案

使用format.c_str():

string format = "what is your %s";  
int total = sprintf(buffer, format.c_str(), name);

另请注意,返回值不是新字符串,而是作为输出字符串的缓冲区。返回值实际上是写入的字符总数。此计数不包括自动附加在字符串末尾的额外空字符。失败时,返回一个负数 ( see doc here )。

但是在 C++ 中,std::ostringstream 更好并且类型安全,正如@Joachim 在他的回答中解释的那样。

关于c++ - 如何在 C++ Sprintf 第二个(格式)参数中传递变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8502288/

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