Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
到达函数末尾 我想读一个包含C++代码的文本文件。我想在函数的末尾添加一些代码。问题是我真的不知道如何到达函数的末尾,因为可能有if语句和字符串以及任何包含}的内容。那我该怎么做呢?Regex?_C++ - Fatal编程技术网

到达函数末尾 我想读一个包含C++代码的文本文件。我想在函数的末尾添加一些代码。问题是我真的不知道如何到达函数的末尾,因为可能有if语句和字符串以及任何包含}的内容。那我该怎么做呢?Regex?

到达函数末尾 我想读一个包含C++代码的文本文件。我想在函数的末尾添加一些代码。问题是我真的不知道如何到达函数的末尾,因为可能有if语句和字符串以及任何包含}的内容。那我该怎么做呢?Regex?,c++,C++,您应该使用一些工具,如Lex和YACC,我认为Lex足以满足您的需求。 在这里你可以找到莱克斯和它的教程。 你需要基本上写一个C++解析器。对于一般情况来说,这不是一个简单的目标。您可能可以为特定的案例工作,但真正做到这一点的唯一方法是属性和正确地预处理和解析C++代码。正如您所陈述的问题,在文件中只有一个函数,如果具有单个函数的文件编译,则知道括号是平衡的。因此,您可以简单地将文件加载到std::string中,然后使用rfind。在代码中找到任何给定支撑的匹配算法也很简单。我更喜欢递归。是的

您应该使用一些工具,如Lex和YACC,我认为Lex足以满足您的需求。 在这里你可以找到莱克斯和它的教程。

你需要基本上写一个C++解析器。对于一般情况来说,这不是一个简单的目标。您可能可以为特定的案例工作,但真正做到这一点的唯一方法是属性和正确地预处理和解析C++代码。正如您所陈述的问题,在文件中只有一个函数,如果具有单个函数的文件编译,则知道括号是平衡的。因此,您可以简单地将文件加载到std::string中,然后使用rfind。在代码中找到任何给定支撑的匹配算法也很简单。我更喜欢递归。是的,不会只有一个函数。。。我认为解析器可以完成这项工作。