概要

    #include <unistd.h>
    #include <sys/types.h>
    int ftruncate(int fd, off_t length);


有人说偏移量类型通常是长整数。
因此,我使用%ld对其进行扫描,如下所示:

    off_t size;
    scanf("%ld",&size);
    ftruncate(fout,size);


但是编译器警告:expected“ int”,但是argumant类型为“ struct FILE *”
我该怎么办?

最佳答案

ftruncate函数期望它的第一个参数是文件描述符,而显然您传递了struct FILE*。正确的方法是:

ftruncate(fileno(fout),size);

关于c - 我想使用ftruncate创建具有固定大小的文件,但是如何处理off_t类型?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34691421/

10-11 21:06