【发布时间】:2014-07-02 23:56:49
【问题描述】:
所以我需要统计C++源代码中条件语句的数量:
#include <iostream>
#include <stdio.h>
#include <string.h>
using namespace std;
int main ()
{
char str[] = "String variable";
cout << strstr (str,"variable") << endl;
return 0;
}
我需要进行字符串搜索而不是语义搜索,因为这是一门课程作业,我认为他们不会期待令人印象深刻的东西。问题是,我如何告诉strstr() 函数查看整个源代码而不是作为第一个参数传递的单个变量?另外,这是解决作业的好方法吗?
【问题讨论】:
-
由于您使用的是 C++,因此您应该避免使用
strstr。实际上,如果您可以使用 C++11 编译器,您应该考虑使用一些正则表达式功能,en.cppreference.com/w/cpp/regex -
@Jack 因为我们有一个当前的标准,
std::strstr也很好定义。无论如何,这个问题很不清楚。 -
好吧,我不知道如何更好地布置它。我只需要找到 if 和 if/else 语句的出现次数。
-
像
strstr这样的简单字符串匹配函数根本无法完成这项工作。例如,它将查找名为whatif的变量作为if语句的实例。您的代码需要遵循 C++ 的解析规则。如果您有可用的正则表达式,那么它们就可以完成工作。否则,您可以查找标准并推出自己的标准。请注意,它并不像表面上看起来那么简单。 -
我收回我的声明,即正则表达式可以完成这项工作。我无法想象任何可以处理 cmets 的正则表达式。
标签: c++