Проблема с определением функции

По информатике задали сделать программу на языке си, которая читает текстовый файл с кодом, а после записывает в другой текстовый файл все прототипы функций, которые нашёл. В целом код готов, но я не знаю как определить, что в строке находится именно функция, а не условный оператор или вызов переменной, помогите пожалуйста как лучше определять именно функцию. Ниже код, которым я определяю функцию:

void exam(FILE* prog, FILE* rez) {

    if (prog == NULL || rez == NULL) {
        return;
    }

    rewind(prog);

    char line[256];

    while (fgets(line, sizeof(line), prog) != NULL) {
        if (strstr(line, ") {") != NULL || strstr(line, "){") != NULL) {
            fputs(line, rez);
            printf("Writing: %s", line);
        }
    }
}

Ответы (0 шт):