【游戏随机系统模拟】随机位置随机长度的固定文本

// 文本如果改为变化的,就是随机文本了
#include <cmath>
#include <queue>
#include <iostream>
#include <Windows.h>
using namespace std;

const int TEST_TIMES = 100;
const char code[] = "Hello, world! My name is SweetLover, nice to meet you!";

int main()
{
	char *pBuffer = 0;
	int i, pos, len, strLen = strlen(code);
	queue<char *> *pQueue = new queue<char *>();
	for (i = 0; i < TEST_TIMES; i++)
	{
		pos = rand() % (strLen - sizeof(int));
		len = rand() % (strLen - pos);
		pBuffer = new char[len + sizeof(int) + 1];
		pBuffer[len + sizeof(int)] = 0;
		memcpy(pBuffer, &len, sizeof(int));
		memcpy(pBuffer + sizeof(int), code + pos, len);
		pQueue->push(pBuffer);
	}
	while (!pQueue->empty())
	{
		int *len = (int *)pQueue->front();
		char *text = (char *)len + sizeof(int);
		cout << "Length: " << *len << "\nText: " << text << "\n\n";
		pQueue->pop();
		delete[] len;
		Sleep(1000);
	}
	delete pQueue;
	return EXIT_SUCCESS;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值