【发布时间】:2014-02-13 09:11:28
【问题描述】:
while((x= fgetc(p)) != EOF)
{
if (x== '/')
{
while((x = fgetc(p)) != EOF && x != '\n' && x != '/')
{
comments++;
}
}
}
基本上,我需要的只是一种计算文件中所有注释符号的方法。这是我尝试过的方法,但没有奏效。非常感谢您的帮助:)。
【问题讨论】:
-
c 中的 cmets 以
/*开头,因此您应该寻找它而不仅仅是单个/ -
并以
*/结尾。如果您不检查这两个字符,您将在每次点击除法时翻转状态,或者在字符串或注释中使用/。而且,正如 Smac89 所说,行尾与结束 C 注释无关。 -
添加到我之前的评论中,除了
it does not work,您没有提供太多信息。对此无能为力 -
你必须使用纯 C 吗?我宁愿学习 Perl 尝试在纯 C 中可靠地执行良好的模式匹配。特别是如果您还计划匹配单行 cmets ......现在是 C 标准的一部分
-
你能告诉我一种正确计算所有注释符号的方法吗?
标签: c