void BlocksExpand(char *first, char *second,std::string &out)
{
char buf[16] = "";
unsigned char a, b, c, d,A,B,C,D;
strcpy(buf, first);
strtok(buf, ".");
a=atoi(buf);
first += strlen(buf)+1;
strcpy(buf, first);
strtok(buf, ".");
b = atoi(buf);
first += strlen(buf) + 1;
strcpy(buf, first);
strtok(buf, ".");
c = atoi(buf);
first += strlen(buf) + 1;
d = atoi(first);
strcpy(buf, second);
strtok(buf, ".");
A = atoi(buf);
second += strlen(buf) + 1;
strcpy(buf, second);
strtok(buf, ".");
B = atoi(buf);
second += strlen(buf) + 1;
strcpy(buf, second);
strtok(buf, ".");
C = atoi(buf);
second += strlen(buf) + 1;
D = atoi(second);
//printf("%d.%d.%d.%d\n%d.%d.%d.%d", a, b, c, d,A,B,C,D);
for (int bi = b; bi < (B + 1); bi++)
{
for (int ci = c; ci < (C + 1); ci++)
{
for (int di = d; di < (D + 1); di++)
{
memset(buf, 0, 16);
printf("%d.%d.%d.%d\n", a,bi,ci,di);
wsprintfA(buf, "%d.%d.%d.%d;", a, bi, ci, di);
out = out + std::string(buf);
}
}
}
//printf("total: %d", total);
}
середа розробки VS 2015, тому мабуть там не тільки є С++11, а й щє С++14 Але таки конкатенація стрингу через оператор "+" занадто повільна (((