VC++ get uuid and put the generated uuid into file

// ConsoleApplication1.cpp : This file contains the 'main' function. Program execution begins and ends there.
//

#pragma comment(lib, "rpcrt4.lib")
#include <chrono>
#include <fstream>
#include <iostream>
#include <sstream>
#include <string>
#include <Windows.h>
using namespace std;

void logFile(int loops);int main(int args,char **argv)
{ 
    logFile(atoi(argv[1]));
    getchar();
    return 0;
} 

void logFile(int loops)
{
    fstream wFile("log.txt", ios::app);
    if (!wFile.is_open())
    {
        cout << "Create or open log.txt failed!" << endl << endl;
    }

    char* str;
    stringstream ss;
    long double num = 0;
    for (int loop = 0; loop < loops; loop++)
    {
        auto startTime = chrono::system_clock::now();
        for (int i = 0; i < 2000000; i++)
        {
            UUID uuid;
            UuidCreate(&uuid);            
            UuidToStringA(&uuid, (RPC_CSTR*)&str); 
            ss << ++num << "," << str << endl;
        }
        wFile << ss.str();
        ss = stringstream();
        auto endTime = chrono::system_clock::now();
        auto timeCost = chrono::duration_cast<chrono::milliseconds>(endTime - startTime).count();
        cout <<fixed<< "Loops="<<loop<<",Num = " << num << ", Time cost : " << timeCost << " milliseconds" << endl;
    }
    wFile.close();
    cout << "Finished in logFile(int loops)" << endl;
}

Build and execute via powershell which will pass arguments

.\ConsoleApplication1.exe 100;

 

posted @ 2022-05-24 17:14  FredGrit  阅读(60)  评论(0编辑  收藏  举报