Я попытался прочитать путь и имя файла в массив символов из файла configuration.txt
. Затем, передав массив символов в fopen()
. Тем не менее, он генерирует ошибки, такие как неверный аргумент. Вместо этого, если я напрямую передал путь, аналогичный тому, который указан в configuration.txt
, он будет успешным. Код выглядит так:
FILE *FIDConfig = fopen(argv[1],"r"); // open configuration file; could be a .txt file
char inputfname[200], backgroundfname[200], outputfname[200];
fscanf(FIDConfig, "%s", inputfname); //int fscanf ( FILE * stream, const char * format, ... );
fscanf(FIDConfig, "%s", backgroundfname);
fscanf(FIDConfig, "%s", outputfname);
/* FILE WITH THE RAW DATA */
errno = 0;
FILE *FIDIN, *FIDOUT, *FIDBack; // inputfname = "./data.bin", backgroundfname = "./dbk.bin";
FIDIN = fopen(inputfname, "rb"); // if changed to FIDIN("./data.bin","rb") it works!
FIDBack = fopen(backgroundfname, "rb");