将文件分成128个字节的相等部分

时间:2013-10-06 20:57:07

标签: c file gcc divide

int main()
{
    FILE *fe, *fs;
    unsigned char buffer[128];
    int bytesreader;
    int i;
    char cad[100];

    fe = fopen("pg2000.txt", "rb");
    fseek(fe, 0L, SEEK_END);
    int x = ftell(fe);
    printf("%d",x);
    int x = ftell(fe);
    int result=x/128;

    for(i=0;i<result;i++)
    {
        bytesreader = fread(buffer, 1, 128, fe)
        sprintf(cad, "a%d", i);
        strcat(cad,".txt");
        printf("%s\n", cad);
        fs = fopen(cad, "wb");
        fwrite(buffer, 1, bytesreader, fs);
        fclose(fs);
    }

    fclose(fe);

    return 0;
}

我想将文件分成128个字节的相等部分,但是当文件很大时我会遇到访问冲突,我不明白......

1 个答案:

答案 0 :(得分:3)

fe = fopen("pg2000.txt", "rb"); 
int x = ftell(fe);
int result=x/128;

x这里将为零。如果fopen()成功。您需要检查哪些。

另外,正如WhozCraig指出的那样,fclose()的{​​{1}}应该在你的循环中。

这个

fs

可能也不是你想到的那样。