1
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 字节的相等部分,但是当文件很大时,我会遇到访问冲突,我不明白......

4

1 回答 1

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

x这里将为零。如果顺利的fopen()话。您需要检查。

此外,正如 WhozCraig 指出的那样,fclose()forfs应该在您的循环中。

和这个

for(i=0;i=result;i++)
         ^

可能也不完全是您的想法。

于 2013-10-06T21:03:11.883 回答