是否可以使用 C++ 函数或宏将另一个函数的代码作为字符串写入文件?
Is it possible to have a C++ function or macro that writes the code of another function to file as a string?
是否可以让一个函数将另一个函数的内容(即实际代码)写入文件?例如,假设我们有一个将两个数字相加的函数:
int add(int a, int b){
return a + b;
}
是否可以有另一个函数或宏将此函数作为字符串写入文件?
void functionThatWritesAddToAFile(std::string fname){
}
我想要这个的原因是为了自动生成我的文档示例。我希望能够编写代码示例(最好是 googletests,但简单的函数也可以)和 运行 它们,然后将代码示例保存到已知位置的文件中,该文件将被自动读取我的文档(使用 sphinx
s .. literalinclude:: fname
指令)。这样,当代码更改时,示例会自动更新。
我最近使用 C++ 的经验不多,但我认为至少可以读取文本文件的内容并将其复制到另一个文件?显然,您不能同时拥有想要复制的代码 运行,但如果您只需要复制内容并将其保存到不同的位置,那是可行的。该函数可能看起来像:
- 打开文件
- 阅读内容
- 将内容存储为字符串
- 在位置创建新文件
- 在新文件中写入内容
- 关闭文件
...类似这样的东西?
Python 使用 open()
,read()
,write()
functions/methods 我想 C++ 也有类似的东西
是否可以让一个函数将另一个函数的内容(即实际代码)写入文件?例如,假设我们有一个将两个数字相加的函数:
int add(int a, int b){
return a + b;
}
是否可以有另一个函数或宏将此函数作为字符串写入文件?
void functionThatWritesAddToAFile(std::string fname){
}
我想要这个的原因是为了自动生成我的文档示例。我希望能够编写代码示例(最好是 googletests,但简单的函数也可以)和 运行 它们,然后将代码示例保存到已知位置的文件中,该文件将被自动读取我的文档(使用 sphinx
s .. literalinclude:: fname
指令)。这样,当代码更改时,示例会自动更新。
我最近使用 C++ 的经验不多,但我认为至少可以读取文本文件的内容并将其复制到另一个文件?显然,您不能同时拥有想要复制的代码 运行,但如果您只需要复制内容并将其保存到不同的位置,那是可行的。该函数可能看起来像:
- 打开文件
- 阅读内容
- 将内容存储为字符串
- 在位置创建新文件
- 在新文件中写入内容
- 关闭文件
...类似这样的东西?
Python 使用 open()
,read()
,write()
functions/methods 我想 C++ 也有类似的东西