小编Dot*_*Dot的帖子

为什么ftell在这个函数中返回0?

当我运行我的程序并且我选择查看产品列表时,它不会打印任何内容.过了一段时间,我发现它的值fl_size总是为0.这是为什么?

void view_prdct_code_list() {
        FILE *stock = fopen("stock.dat","r+");
        assert(stock);

        int fl_size=ftell(stock);
        int prd_size= sizeof(product);
        int quantity= fl_size/prd_size;
        printf("fl_size=%d",fl_size);

        fseek(stock,0,SEEK_SET);
        prdct cprd= (product *)malloc (sizeof(product)*quantity);
        assert(cprd);

        int i;

        fread(cprd,prd_size,quantity,stock);

        for (i=0;i<quantity;i++){
                printf("PRODUCT CODE: %d\n",cprd->code);
        }

        free(cprd);
        fclose(stock);
}
Run Code Online (Sandbox Code Playgroud)

c ftell

1
推荐指数
1
解决办法
3777
查看次数

标签 统计

c ×1

ftell ×1