我正在尝试获取用户的mac地址,然后将其存储在字符串中。我已经将mac地址get函数关闭了,但是我在将mac地址的最终值存储到字符串时遇到了一些麻烦。有人可以帮忙吗?
#include "stdafx.h"
#include <iostream>
#include <Windows.h>
#include <rpc.h>
#include <rpcdce.h>
#include <string>
#pragma comment(lib, "rpcrt4.lib")
using namespace std;
static void PrintMACaddress(unsigned char MACData[])
{
printf("%02X-%02X-%02X-%02X-%02X-%02X\n", MACData[0], MACData[1], MACData[2], MACData[3], MACData[4], MACData[5]);
}
static void GetMACaddress(void)
{
unsigned char MACData[6];
UUID uuid;
UuidCreateSequential(&uuid);
for (int i=2; i<8; i++)
MACData[i - 2] = uuid.Data4[i];
PrintMACaddress(MACData);
}
int main()
{
GetMACaddress();
system("pause");
}
基本上,我需要将最终结果转换为字符串值 对不起,如果这个太广泛了。
答案 0 :(得分:0)
您可以使用snprintf()函数转换为字符串:
char buffer[1024];
snprintf(buffer, sizeof(buffer), "%02X-%02X-%02X-%02X-%02X-%02X",
MACData[0], MACData[1], MACData[2], MACData[3], MACData[4], MACData[5]);
std::string str = buffer;