Mình có viết hàm join file trong C , nhưng không biết sao file f nó cứ báo NULL hoài, mọi người xem xong giúp mình với.
void joinfile(char *nfn)
{
long int size_per_pack;
char fn[250]="";
char fncopy[250] = "";
memcpy(fncopy, nfn, strlen(nfn));
int numoffile = numsofpack(fncopy);
memcpy(fn, fncopy, seconddot(fncopy));
FILE *fjoin = fopen(fn, "wb");
if (fjoin == NULL)
{
printf("couldn't open file");
exit(0);
}
FILE *f;
int fullsizejoin = fullssizejoin(fncopy);
char *s1 = new char[fullsizejoin];
for (int j = 1; j <= numoffile; j++)
{
f = fopen(fncopy, "rb");
if (f == NULL)
{
printf("couldn't open file");
exit(0);
}
int eachsize = file_size(nfn);
fread(s1, 1, eachsize , f);
fwrite(s1, 1, eachsize, fjoin);
char sa[250] = "";
char sb[250] = "";
memcpy(sa, nfn, seconddot(nfn) + 1);
_strrev(nfn);
memcpy(sb, nfn, strlen(nfn) - seconddot(nfn) - 1);
int k = atoi(sb);
k++;
_itoa(k, sb, 10);
strcat(sa, sb);
memcpy(nfn, sa, strlen(sa));
_fcloseall();
}
delete[]s1;
_fcloseall();
}