We could easily check the lootin levels as simple.
---
1. Lvel_00* themselve are same lootin on the code.
2. They have same parameters in their function.
3. So, we check only level_002 as simple in this case.
4. In samae level, We can solve the memorization problem of recursive, so, you do not worry.
main.cpp Tue Sep 29 11:42:32 2020 --- 157 :// 158 :// 159 :// 160 :// 161 :int found_start (char* filename) { 162 : FILE *fp; 163 : char b_dummy[256]; 164 : int i, j ; 165 : int file_end; 166 : 167 : printf("found_start: starts: filename %s\r\n", filename); 168 : 169 : fp = fopen(filename, "rb"); 170 : file_end = filesize(fp); 171 : 172 :// int a = found_level_001 ( 0, file_end, fp ); 173 : int a = found_level_002 ( 0, file_end, fp ); 174 : 175 : printf("found_start: ends\r\n"); 176 :} 177 : --
--- > .\winmain_001.exe found_start: starts: filename .\000-timeline-003.txt i: 0 loop starts. ||compare| | 003 case sep=2 a_compare ends | next |0| end|0| count 1 level_002 i: 1 loop starts. a_compare| || | 003 case sep=1 a_compare ends i: 1 loop ends. | | next |13| end|0| count 2 level_002 i: 2 loop starts. a_compare| || | 003 case sep=2 a_compare ends We found Enter | | index 0 i 2 tfp 1958124648 fp 1958124648 count 2 ---