windows 系统,使用FILE 4种不同的写文件方式,效率对比

#define _CRT_SECURE_NO_WARNINGS

#include<iostream>
#include<string>
#include<vector>
#include <windows.h>

int main()
{
    int size = 10000;
    DWORD time_start, time_end;
    std::vector<double> data(100000,1);

    FILE* fp = fopen("D://0.txt", "wb");
    if (nullptr == fp)
    {
        return 1;
    }
    time_start = GetTickCount();
    for (int i = 0; i < size; i++)
    {
        fwrite(&data[0], sizeof(double), data.size(), fp);
    }
    time_end = GetTickCount();
    std::cout << "Time0 " << (time_end - time_start) << std::endl;
    fclose(fp);


    FILE* fp1 = fopen("D://1.txt", "wb");
    if (nullptr == fp1)
    {
        return 1;
    }
    time_start = GetTickCount();
    for (int i = 0; i < size; i++)
    {
        fwrite(&data[0], sizeof(double) * data.size(), 1, fp1);
    }
    time_end = GetTickCount();
    std::cout << "Time1 " << (time_end - time_start) << std::endl;
    fclose(fp1);


    FILE* fp2 = fopen("D://2.txt", "wb");
    if (nullptr == fp2)
    {
        return 1;
    }
    time_start = GetTickCount();
    for (int i = 0; i < size; i++)
    {
        fwrite(&data[0], data.size(), sizeof(double), fp2);
    }
    time_end = GetTickCount();
    std::cout << "Time2 " << (time_end - time_start) << std::endl;
    fclose(fp2);


    FILE* fp3 = fopen("D://3.txt", "wb");
    if (nullptr == fp3)
    {
        return 1;
    }
    time_start = GetTickCount();
    for (int i = 0; i < size; i++)
    {
        fwrite(&data[0], 1, sizeof(double) * data.size(), fp3);
    }
    time_end = GetTickCount();
    std::cout << "Time3 " << (time_end - time_start) << std::endl;
    fclose(fp3);

    return 0;
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值