Количество символов комментариев в файле (C программирования)

Я не могу понять это правильно, перепробовал все, но ..

int commentChars() {
char str[256], fileName[256];
FILE *fp;
int i;


do{
    long commentCount=0;
    fflush(stdin);
    printf("%s\nEnter the name of the file in %s/", p, dir);
    gets(fileName);

    if(!(fp=fopen(fileName, "r"))) {
            printf("Error! File not found, try again");
                return 0;
    }

    while(!feof(fp)) {
            fgets(str,sizeof str,fp);
            for(int i=0;i<=sizeof str;i++) {
                if(str[i] == '/' && str[i+1] == '/') {
                        commentCount += (strlen(str)-2);
                }
            }
    }

    fclose(fp);

        printf("All the chars, contained in a comment: %ld\n", commentCount);
        puts(p);
        printf("Do you want to search for another file?<Y/N>: ");
        i=checker();


}while(i);}

Результат - «Все символы, содержащиеся в комментарии: 0», хотя у меня есть комментарии. И мой второй вопрос был ... Аналогично, как я могу сделать то же самое для комментариев, содержащих / * * /, кажется невозможной работой для меня.

Ответы на вопрос(3)

Ваш ответ на вопрос