#include <stdio.h>
#include <string.h>
#define BUFFER_SIZE 1000
char key[255];
char buf[255];
char* get_key(char key_number[256]);
char* return_line(int line);
int indexOf(FILE *fptr, char *word, int *line, int *col);
int return_line_number(char *word);
int main(int argc, char** argv) {
        FILE *f;
        char ara[] = "3";
        f = fopen("cikti", "w");
        int i;
        //printf("%s", get_key(ara));
        for(i=0; i<9; i++) {
                if(strcmp(get_key(ara), "1") == 0)
                        fprintf(f, "aa\n");
                if(strcmp(get_key(ara), "2") == 0)
                        fprintf(f, "ab\n");
                if(strcmp(get_key(ara), "3") == 0)
                        fprintf(f, "ba\n");
                if(strcmp(get_key(ara), "4") == 0)
                        fprintf(f, "bb\n");
        }
        fclose(f);
        return 0;
}
char* get_key(char key_number[256]) {
        int d = 0;
        while(key[d]!=0) {
                key[d] = 0;
                d++;
        }
        int number_line;
        char word[256] = "testkod = ";
        strcat(word, key_number);
        //printf("%s\n", word);
        char line[256] = "";
        number_line = return_line_number(word);
        strcpy(line, return_line(number_line));
        //printf("%i\n", return_line_number(word));
        //printf("%s", line);
        int a = 0, b = 0;
        while(line[a]!='=') {
                //printf("%c", line[a]);
                a++;
        }
        a += 2;
        //printf("\n");
        while(line[a]!=' ') {
                key[b] = line[a];
                a++;
                b++;
        }
        //printf("%s\n", key);
        return key;
}
char* return_line(int line) {
        //printf("%i\n", line);
        int end, loop;
        FILE *fp = fopen("oku.dosya", "r");
        for(end=loop=0; loop<line; loop++) {
                if(0==fgets(buf, sizeof(buf), fp)) {
                        end = 1;
                        break;
                }
        }
        fclose(fp);
        if(!end)
                return buf;
}
int return_line_number(char *word) {
        int line; int col;
        FILE *fptr;
        fptr = fopen("oku.dosya", "r");
        return indexOf(fptr, word, &line, &col);
}
int indexOf(FILE *fptr, char *word, int *line, int *col) {
        char str[BUFFER_SIZE], *pos;
        *line = -1, *col  = -1;
        while ((fgets(str, BUFFER_SIZE, fptr)) != NULL) {
                *line += 1;
                pos = strstr(str, word);
                if (pos != NULL) {
                        *col = (pos - str);
                        break;
                }
        }
    if (*col == -1)
                *line = -1;
        return *line+1;
}