header
https://paste.ofcode.org/3GmzmFCjfbg4uHtJfr7YvX
c file:
https://paste.ofcode.org/dXCRVU8jEL2yYfKPhHAYUt
Nekopíruju adresářovou strukturu db, takže jestli mi s tím chceš pomoci, na řádku 146 funkce readfile bude vždy vracet null pointer.
Nicméně já mám debugger nastavený takto:
breakpoint na řádku 118: ve funkci prepareFilePath, větev else.
breakpoint na řádku 150.
Když se to zastaví na řádku 150 hodnota filename je
db/radiation/insolation incident/\"/maximum direct radiation.txt
ale předtím ještě před vrácením filename, na řádku 118, respektive na 127 byl filename správně
db/radiation/insolation incident/July 1983 - June 2005/insolation - clear sky - horizontal surface.txt
Funkci char * prepareFilePath(TABLE_ tmain, TABLE_ tob, char filename[])
jsem původně měl deklarovanou takto:
char * prepareFilePath(TABLE_ tmain, TABLE_ tob, char * filename) ...
Jenže filename je pole char:
char * prepareBuffer(TABLES * tables, char * buf, TABLE_ * table_arrays[]){
char filename[400];
takže jsem to opravil
char * prepareFilePath(TABLE_ tmain, TABLE_ tob, char filename[])
Nicméně to nemá vliv, program se chová stále stejně. Několik cest mi prošlo bez problému, a tady u této to dělá problém.cesta se skládá ze řádku
5 (hlavní adresář), 14 (podadresář), 6 (druhý soubor)