30/09/2018, 16:57

File f báo NULL nhưng có trong đường dẫn

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();
}
Nguyễn Minh Dũng viết 19:10 ngày 30/09/2018

printf cái fncopy ra xem thử có được không?

Phát Nguyễn viết 19:05 ngày 30/09/2018

Nó vẫn ổn anh ơi, vẫn in ra, vẫn có

Nguyễn Minh Dũng viết 19:01 ngày 30/09/2018

Phát in ra được cái gì nhỉ? Ok, như thế này đi, bỏ cái file cần đọc vào chung thư mục với file build ra, tức file exe. Thư mục đó rất có thể là thư mục debug bên trong project của mình.

Khi mở file thì chỉ cần viết tên file thôi, không cần viết đường dẫn nó cũng chạy bởi vì file thực thi của mình, file exe, và file input thuộc về cùng một thư mục cha.

Bài liên quan
0