计算随机c文件中的注释字符

时间:2014-01-23 01:38:47

标签: c

while((x= fgetc(p)) != EOF)
 {
  if (x== '/')
  {
      while((x = fgetc(p)) != EOF && x != '\n' && x != '/')
      {
          comments++;
      }
  }
}

基本上我只需要一种计算文件中所有注释符号的方法。这是我尝试的方式,但它不起作用。非常感谢帮助:)。

1 个答案:

答案 0 :(得分:0)

这是ruby中的一个例子

cProg = %{#include <stdio.h>
#include <stdarg.h>
int main (int argc, char const *argv[])
\{
    printf("Hello World!");//hello world
    /* Some Multi

     Line Comment */

    return 0;

\}
}

matches = cProg.match(/\/\/.*$/)
cStyle = cProg.match(/\/\*[\s\S]*?\*\//)

print matches[0].length
print "\n"
print cStyle[0].length

修改

刚看到它必须在C .. 您需要使用strnstr并获取从后续"/*""*/"令牌以及"//"到下一个"\n"的偏移量,并减去要获取的指针长度。