zoukankan      html  css  js  c++  java
  • 文件操作(stat函数)

    stat函数可以获取文件信息

    /***
    stat.c
    ***/
    #include<stdio.h>
    #include<string.h>
    #include<sys/stat.h>
    #include<stdlib.h>
    
    int main()
    {
        struct stat st = {0};        //定义一个结构体,名字叫st
        stat("./a.txt",&st);        //调用完stat函数之后,文件的相关信息就保存再st结构中
        char *array = malloc(st.st_size);        //st.st_size 表示文件的大小,在堆中动态分配一块文件大小的内存
        FILE *p = fopen("./a.txt","rb");
        fread(array,sizeof(char),st.st_size,p);        //相当于把整个文件一下子放入内存中
        fclose(p);
        p = fopen("./b.txt","wb");
        fwrite(array,sizeof(char),st.st_size,p);        //将堆中的信息一下写入文件中
        fclose(p);
    }

    可以使用时间相关函数来计算一下程序运行的时间(对于大文件复制有很好的效果)

    #include<stdio.h>
    #include<string.h>
    #include<sys/stat.h>
    #include<stdlib.h>
    #include<time.h>
    
    int main()
    {
        clock_t c1 = clock();
        struct stat st = {0};
        stat("./a.txt",&st);
        char *array = malloc(st.st_size);
        FILE *p = fopen("./a.txt","rb");
        fread(array,sizeof(char),st.st_size,p);
        fclose(p);
        p = fopen("./b.txt","wb");
        fwrite(array,sizeof(char),st.st_size,p);
        fclose(p);
        clock_t c2 = clock();
        printf("%u
    ",c2-c1);
    }
  • 相关阅读:
    AES算法,DES算法,RSA算法JAVA实现
    spring官方学习地址
    逐步理解SpringMVC
    sublime前端开发工具常用技巧
    谈谈关键字new
    关于mybatisgenerator的问题
    AOPjdk动态代理的思考
    关于java解析xml文件出现的问题
    Java注解
    git向码云上传代码总结
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/11240344.html
Copyright © 2011-2022 走看看