Есть ли способ подсчитать общее количество пустых строк в файле на языке C. Я пытался, и ниже мой код, но он не работает.
void countLines(char *f1)
{
FILE *fp;
fp=fopen(f1,"r");
int d=fgetc(fp),count=0,countbl=0;
while(d != EOF)
{
if(d=='\n')
{
d=fgetc(fp);
if(d=='\n')
countbl++;
count++;
fseek(fp,-1,SEEK_CUR);
}
d=fgetc(fp);
}
printf("%d %d",count+1,countbl);
}
Я использую fget c для чтения файлов charcater по charcater, когда fget c встречает \n
Я проверяю следующий символ, если он снова \n
, это означает, что это пустая строка, но она не работает.
Пример ввода
fileCount.txt(name of text file)
Содержимое файла
This is line one
Hello, welcome to programming
Code quotient - Get better at coding
b
Пример вывода
8 4
Здесь 8 - общее количество строк, а 4 - общее количество пустых строк.
Вот новый код, но он все еще не работает
void countLines(char *f1)
{
FILE *fp;
fp=fopen(f1,"r");
int d=fgetc(fp),count=0,countbl=0,temp=0;
while(d != EOF)
{
//printf("%c %c",temp ,d);
if(d=='\n' && temp=='\n' )
countbl++;
if(d=='\n')
count++;
temp=d;
d=fgetc(fp);
}
printf("%d %d",count+1,countbl);
}