C-style copy file
3 отговора
200 прегледа
C-style copy file
Imam class s member FILE *record
V construktora otvarqm faila file_record i go asociiram s record;
V destruktura go zatvarqm.
Klasa ima metod koito obhojda durvo i pri dostigane na listo ot durvoto
zapisva mejdinni danni v file_record (vsi4ko ot korena do listoto).
Su6tata funkciq ima proverka za vuzmijno nai-dobro re6enie i trqbva da prehvurli teku6tite danni ot file_record v drug fail file_out koito 6te sudurja nai-dobroto re6enie do momenta.
Failovete sa v text mode
Problema mi e 4e ne moga da copiram file_record v file_out i ne moga da razbera za6to. Tova e fragment ot vuprosnata funkciq.
if(IsBestSolution()){
fflush(record);
fseek(record, 0, SEEK_SET);
int buflen = _filelength(_fileno(record));//file size in bytes
char* buf = new char[buflen];
fread(buf, buflen, 1, record);
FILE* out = fopen(FILE_OUT, "wt");
fwrite(buf, buflen, 1, out);
fclose(out);
delete [] buf;
}
rezultata e prazen fail s duljina buflen;
kude burkam ?
V construktora otvarqm faila file_record i go asociiram s record;
V destruktura go zatvarqm.
Klasa ima metod koito obhojda durvo i pri dostigane na listo ot durvoto
zapisva mejdinni danni v file_record (vsi4ko ot korena do listoto).
Su6tata funkciq ima proverka za vuzmijno nai-dobro re6enie i trqbva da prehvurli teku6tite danni ot file_record v drug fail file_out koito 6te sudurja nai-dobroto re6enie do momenta.
Failovete sa v text mode
Problema mi e 4e ne moga da copiram file_record v file_out i ne moga da razbera za6to. Tova e fragment ot vuprosnata funkciq.
if(IsBestSolution()){
fflush(record);
fseek(record, 0, SEEK_SET);
int buflen = _filelength(_fileno(record));//file size in bytes
char* buf = new char[buflen];
fread(buf, buflen, 1, record);
FILE* out = fopen(FILE_OUT, "wt");
fwrite(buf, buflen, 1, out);
fclose(out);
delete [] buf;
}
rezultata e prazen fail s duljina buflen;
kude burkam ?
Re: C-style copy file
Ако сложиш брейкпоинт тук
, какво е съдържанието на buf?
FILE* out = fopen(FILE_OUT, "wt");
, какво е съдържанието на buf?
Re: C-style copy file
re6ih problema
v klasa bqh definiral:
FILE* record = fopen(FILE_RECORD, "w+t");
promenih go na:
FILE* record = fopen(FILE_RECORD, "w+rt");
i stana
v klasa bqh definiral:
FILE* record = fopen(FILE_RECORD, "w+t");
promenih go na:
FILE* record = fopen(FILE_RECORD, "w+rt");
i stana