gpt4 book ai didi

c++ - C/C++,你能#include一个文件到一个字符串文字中吗?

转载 作者:IT老高 更新时间:2023-10-28 12:30:12 31 4
gpt4 key购买 nike

我有一个 C++ 源文件和一个 Python 源文件。我希望 C++ 源文件能够将 Python 源文件的内容用作大字符串文字。我可以这样做:

char* python_code = "
#include "script.py"
"

但这行不通,因为每行的末尾都需要有\'s。我可以手动复制和粘贴 Python 代码的内容,并用引号和终止的\n 将每一行括起来,但这很难看。即使 python 源代码将被有效地编译到我的 C++ 应用程序中,我还是想将它保存在一个单独的文件中,因为它更有条理并且更适合编辑器(emacs 不够聪明,无法识别 C 字符串文字是 Python 代码,当你在其中时切换到 Python 模式)。

请不要建议我使用 PyRun_File,这是我首先要避免的;)

最佳答案

C/C++ 预处理器以记号为单位进行操作,字符串文字是一个单个 记号。因此,您不能像这样干预字符串文字的中间。

您可以将 script.py 预处理为:

"some code\n"
"some more code that will be appended\n"
但是,

和 #include 。或者您可以使用 xxd ​ -i 生成一个准备好包含的 C 静态数组。

关于c++ - C/C++,你能#include一个文件到一个字符串文字中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1246301/

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