Мне нужно написать программу на СИ которая должна будет считывать данные из заданного txt файла и посчитать сколько раз в файле появляется слово ananas. При чем можно использовать только 4 ф-ции:
fopen(), fclose(), fgetc(), fputc().
Я думаю о таком варианте, как начинать читать файл, и записывать первые 6 символов в переменную sequence, потом сравнивать sequence и word. Если они будут равны, тогда увеличивать counter на 1 и начинать считывать следующие 6 символов с 7-го символа в файле. Если не равны, тогда считывать 6 символов, начиная со 2-го символа в файле и так далее. Но проблема в том, что нельзя использовать ф-цию fseek. И также можно было бы записывать весь текст в массив, и бежать по нему, но файл может быть любой, я не смогу инициализировать массив, не зная размера
Подскажите пожалуйста как можно это реализовать?
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char* argv[])
{
char word = "ananas";
int counter = 0;
char sequence[6];
FILE * fp;
fp = fopen(argv[1], "r");
char chr;
if (fp != NULL) {
while((chr = fgetc(fp)) != EOF) {
}
}
fclose(fp);
return 0;
}