Найти повторяющиеся строки в файле и их количество - C (СИ)

Формулировка задачи:

Здравствуйте! Есть текстовый файл с ненормированными длинами строк. Надо найти повторяющиеся строки и их количество. Важный момент - файл уже отсортирован и имеет вид: ABC 123 ABC 123 ABCF TWR WER TER TW ET2342 TW ET2342 TW ET2342 То есть, повторяющиеся строки идут подряд. На выходе проги получить надо такое: ABC 123 - 2 TW ET2342 - 3
while(!feof(fp))
{   c=1;
    fgets(str1, 126, fp);
    fgets(str2, 126, fp);
        if(stpcpy(srt1,str2)==0)
            {
            c++; 
            printf("%d - %s",c,str2);
            }
}
Суть моего кода в том, что я сравниваю по паре строк и минус как раз тоже в этом) Подскажите, как сделать, чтобы считало больше двух повторений? Спасибо.

Код к задаче: «Найти повторяющиеся строки в файле и их количество - C (СИ)»

textual
    c=1;
    fgets(str2, 126, fp);
    while(!feof(fp))
    {
        fgets(str1, 126, fp);
        if(strcmp(str2,str1)) {
            if(c>1) {
                printf("%d - %s",c,str2);
                c=1;
            }
            strcpy(str2,str1);
        } else {
            c++;
        }
    }
    if(c>1) {
        printf("%d - %s",c,str2);
    }

15   голосов, оценка 3.733 из 5


СОХРАНИТЬ ССЫЛКУ