Тема: як організувати правильний вихід з циклу?
Завдання полягає в тому щоб з одного файлу(в якому є текст якоїсь програми) в інший перекопіювати функцію main.
Як правильно зробити вихід з циклу,де я по суті повинен перевіряти баланс дужок,і якшо кількість лівих дорівнює кількості правих,що означає кінець функціїї мейн,виходити з цього циклу.(функція search)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void Open(FILE**, FILE**);
void Search(FILE*,FILE*, char*);
void Copy(FILE*, FILE*);
int main()
{
    system("chcp 1251");
    FILE* Read, * Write;
    char* p1 = (char*)malloc(151);
    Open(&Read, &Write);
    Search(Read,Write, p1);
    Copy(Read, Write);
    fclose(Read);
    fclose(Write);
    free(p1);
    system("pause");
    return 0;
}
void Open(FILE** Reading, FILE** Writing)
{
    if ((*Reading = fopen("D:\\textlab\\lab07.txt", "r")) == NULL)
    {
        puts("Файл не вдалось відкрити");
        system("pause");
        exit(0);
    }
    *Writing = fopen("D:\\textlab\\main-fun.c", "w");
}
void Search(FILE* Reading,FILE* Writing, char* strings)
{
    while (fgets(strings, 150, Reading)) 
    {
        if (strstr(strings, " main ") || strstr(strings, " main(") || strstr(strings, " main\n"))
            break;
    }
    fputs(strings, Writing);
}
void Copy(FILE * Reading, FILE * Writing)
{
    int L = 0;
    int R = 0;
    int tmp;
    do
    {
        tmp = fgetc(Reading);
        if (tmp == '{')
             L += 1;
        if (tmp == '}')
             R += 1;
        fputc(tmp, Writing);
        
    } while (1);
    
}