gpt4 book ai didi

c++ - 如何在 C++ 中的文本变量中添加变量值

转载 作者:行者123 更新时间:2023-11-27 23:40:09 25 4
gpt4 key购买 nike

在我的 C++ 代码中,我正在使用 python 执行一些命令,如下所示:

std::string word = "Something";
std::cout << word; //will execute using C++
PyRun_SimpleString("import sys"); // will execute using Python

问题是如何将 word 传递给 Python?

我想要这样的东西:PyRun_SimpleString("Hello %"%word);

在 Python 中你可以这样做:"Hello {}".format(word) 和结果 "Hello Something"

我发现了这样的东西:sprintf(str, "hello %s", word);但问题是 printfsprintf 会将其发送到控制台并且不会返回 word 的值。

最佳答案

在 C++ 中,您使用 + 运算符连接 std::string 对象。

PyRun_SimpleString()const char* 作为输入。 std::string 有一个 c_str() 方法来获取字符串的 const char*

所以,你可以这样做:

std::string s = "Hello " + word;
PyRun_SimpleString(s.c_str());

或者只是这样:

PyRun_SimpleString(("Hello " + word).c_str());

或者,您可以使用 std::ostringstream 来构建格式化字符串:

std::ostringstream oss;
oss << "Hello " << word;
PyRun_SimpleString(oss.str().c_str());

关于c++ - 如何在 C++ 中的文本变量中添加变量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55835193/

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