入力ファイルを指定すると、空白行とコメント行を除く、入力ファイル内のすべてのコード行の数を返すプログラムを作成しようとしています。次のコードを書きましたが、コメントや空白行を含む行を除外する方法について助けが必要です。
#include<stdio.h>
int main()
{
int count;
char ch;
FILE *fptr;
clrscr();
fp=fopen("test.cpp","r");
if(fp==EOF)
{
perror("Error:");
}
else
{
while(ch!=EOF)
{
ch=fgetc(fptr);
if(ch=='\n')
count++;
if(ch=='\\')
count--;
if(ch=='\*')
{
while(ch!='*\')
{
ch=fgetc(fptr);
}
}
}
printf("the lines in the code are %d\n",count);
fclose (fptr)
}
getchar();
return 0;
}
空白行とコメント行がカウントされないように上記のコードを変更するにはどうすればよいですか?