#include <iostream>
#include <memory.h>
#include <stdio.h>
#include "time.h"
#include "string.h"
using namespace std;
//int 变char
void change(int num, char* str)
{
int p = 0;
int tmp = num;
while (tmp)
{
p++;
tmp /= 10;
}
if (num > 0)p--;
tmp = num > 0 ? num : -num;
while (tmp)
{
str[p] = (tmp % 10) + '0';
p--;
tmp /= 10;
}
if (num < 0)
str[0] = '-';
}
int main()
{
int Number = 0;
cout << "Number of input cycles:";
cin >> Number;
clock_t start, finish;
double Total_time;
start = clock();
int errorNumb = 0;
for (int i = 0; i< Number;i++)
{
//计算memcopy 跑一百万次的时间
//memcopy,拷贝内存长度在1M,每次拷贝内容不一样。
//每拷贝一次,一个字节就变一下。
char* target = (char*)malloc(1024 * 1024); //申请内存 1M
char str1[100] = "156dsafs156--";
char str2[20] = "asdfasdfdghgfhdf";
int NumAdd = i;
change(NumAdd, str2);
strcat_s(str1, str2);
char* str3 = str1;
if (target != 0)
{
memcpy(target, str3, strlen(str3)+1);
}
else
{
errorNumb++;
}
printf("i = %d,,text =%s \n", i, target);
free(target); //释放内存
}
finish = clock();
Total_time = (double)(finish - start) / CLOCKS_PER_SEC;
printf("Total running time:%0.3f ms\n", Total_time);
printf("The number of failed requests for memory space:%d \n", errorNumb);
getchar();
system("pause");
return 0;
}