VC++ gen uuid and time

FredGrit發表於2024-06-18
// ConsoleApplication2.cpp : This file contains the 'main' function. Program execution begins and ends there.
//
#define _CRT_SECURE_NO_WARNINGS
#pragma comment(lib, "rpcrt4.lib") 
#include <windows.h>
#include <rpcdce.h>
#include <iostream>
#include <chrono>
#include <ctime>
#include <iomanip>
#include <sstream>
#include <thread>
#include <uuids.h>

using namespace std;

std::string get_time_now();
std::string getUuid();

int main()
{ 
    for (int i = 0; i < 100; i++)
    {
        std::cout << i + 1 << "," << get_time_now()<<","<< getUuid() << std::endl;
        std::this_thread::sleep_for(std::chrono::milliseconds(1000));
    }
    system("pause");
}

std::string get_time_now()
{
    auto now = std::chrono::system_clock::now();
    time_t raw_time = std::chrono::system_clock::to_time_t(now); 
    struct tm tm_info = *localtime(&raw_time);  
    std::stringstream ss;
    ss << std::put_time(&tm_info, "%Y%m%d%H%M%S");
    return ss.str();
}


string getUuid()
{
    RPC_CSTR rpcStr;
    string uuidValue;
    UUID newUUID;
    UuidCreate(&newUUID);
    UuidToStringA(&newUUID, &rpcStr);
    uuidValue = (char*)rpcStr;
    RpcStringFreeA(&rpcStr);
    return uuidValue;
}


// Run program: Ctrl + F5 or Debug > Start Without Debugging menu
// Debug program: F5 or Debug > Start Debugging menu

// Tips for Getting Started: 
//   1. Use the Solution Explorer window to add/manage files
//   2. Use the Team Explorer window to connect to source control
//   3. Use the Output window to see build output and other messages
//   4. Use the Error List window to view errors
//   5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project
//   6. In the future, to open this project again, go to File > Open > Project and select the .sln file

相關文章