while((x= fgetc(p)) != EOF)
{
if (x== '/')
{
while((x = fgetc(p)) != EOF && x != '\n' && x != '/')
{
comments++;
}
}
}
基本上我只需要一种计算文件中所有注释符号的方法。这是我尝试的方式,但它不起作用。非常感谢帮助:)。
答案 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"
的偏移量,并减去要获取的指针长度。