用fseek和ftell获取文件的大小

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main(int argc,char *argv[])
{
    int n=0;
    FILE *fp;
    if((fp=fopen(argv[1],"r"))==NULL)
    {
        perror("fopen");
        exit(EXIT_FAILURE);
    }
    if(fseek(fp,0,SEEK_END)!=0)
    {
        perror("fseek");
        exit(EXIT_FAILURE);
    }
    if((n=ftell(fp))==-1)
    {
        perror("ftell");
        exit(EXIT_FAILURE);
    }
    printf("the size counted by fseek/ftell of the file is %d \n",n);
    printf("this is ls output:\n");
    execl("/bin/ls","ls","-l",argv[1],(char *)0);
    fclose(fp);
}

在Ubuntu中运行结果

posted on 2014-05-02 09:54  lakeone  阅读(938)  评论(0编辑  收藏  举报

导航