(2019年4月9日)
■使用ソフト
・Visual Studio Community 2019
■言語
・C/C++
■Windows SDK バージョン
・10.0.17763.0
※Windows SDK バージョンの変更方法
■手順
以下の3種類の方法を記載
rand()
std::random_device
std::mt19937
<rand()>
1.基本的には以下の流れ参照
【C++】 メッセージボックスの作成
2.C++ファイル(.cpp)を以下のとおり変更する。
#pragma comment(lib,"winmm.lib")
#include <windows.h>
#include <wchar.h>
int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow)
{
WCHAR wcText[256];
srand((unsigned int)timeGetTime());
swprintf(wcText, 256, L"%d", rand());
MessageBox(NULL, wcText, L"乱数の生成", MB_OK);
return 0;
}
#include <windows.h>
#include <wchar.h>
int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow)
{
WCHAR wcText[256];
srand((unsigned int)timeGetTime());
swprintf(wcText, 256, L"%d", rand());
MessageBox(NULL, wcText, L"乱数の生成", MB_OK);
return 0;
}
※timeGetTime()を使用するために#pragma comment(lib,"winmm.lib")が必要
3.乱数が表示される。
<std::random_device>
1.基本的には以下の流れ参照
【C++】 メッセージボックスの作成
2.C++ファイル(.cpp)を以下のとおり変更する。
#include <windows.h>
#include <wchar.h>
#include <random>
int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow)
{
WCHAR wcText[256];
std::random_device random;
swprintf(wcText, 256, L"%lu", random());
MessageBox(NULL, wcText, L"乱数の生成", MB_OK);
return 0;
}
#include <wchar.h>
#include <random>
int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow)
{
WCHAR wcText[256];
std::random_device random;
swprintf(wcText, 256, L"%lu", random());
MessageBox(NULL, wcText, L"乱数の生成", MB_OK);
return 0;
}
※std::random_deviceを使用するために#include <random>が必要
3.乱数が表示される。
<std::mt19937>
1.基本的には以下の流れ参照
【C++】 メッセージボックスの作成
2.C++ファイル(.cpp)を以下のとおり変更する。
#include <windows.h>
#include <wchar.h>
#include <random>
int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow)
{
WCHAR wcText[256];
std::random_device seed;
std::mt19937 random(seed());
swprintf(wcText, 256, L"%lu", random());
MessageBox(NULL, wcText, L"乱数の生成", MB_OK);
return 0;
}
#include <wchar.h>
#include <random>
int WINAPI wWinMain(_In_ HINSTANCE hInstance, _In_opt_ HINSTANCE hPrevInstance, _In_ LPWSTR lpCmdLine, _In_ int nCmdShow)
{
WCHAR wcText[256];
std::random_device seed;
std::mt19937 random(seed());
swprintf(wcText, 256, L"%lu", random());
MessageBox(NULL, wcText, L"乱数の生成", MB_OK);
return 0;
}
※std::random_device、std::mt19937を使用するために#include <random>が必要
3.乱数が表示される。
0 件のコメント:
コメントを投稿