?? chardict.cpp
字號:
}
run = true;
for(j = 0; j < (int)(startEnd[3][1] - startEnd[3][0] + 1); j ++)
{
if (count[j] > (int)maxRepeatNum)
{
run = false;
break;
}
}
if (run)
{
buffer[posx++] = 0x0d;
buffer[posx++] = 0x0a;
WriteStringFile(buffer,posx);
}
}
for(i[2] = startEnd[2][0]; i[2] <= startEnd[2][1]; i[2] ++)
{
if (maxPartNumber > 2)
{
posx = pos;
for(j = 0; j < (int)(startEnd[2][1] - startEnd[2][0] + 1); j ++)
count[j] = 0;
for(j = 0; j < ((int)maxPartNumber - 2); j ++)
{
k = maxPartNumber - j - 1;
if (numflag[2] == 0)
buffer[posx++] = numCharacter[i[k]];
else
buffer[posx++] = numCharacter2[i[k]];
count[i[k] - startEnd[2][0]] ++;
}
run = true;
for(j = 0; j < (int)(startEnd[2][1] - startEnd[2][0] + 1); j ++)
{
if (count[j] > (int)maxRepeatNum)
{
run = false;
break;
}
}
if (run)
{
buffer[posx++] = 0x0d;
buffer[posx++] = 0x0a;
WriteStringFile(buffer,posx);
}
}
for(i[1] = startEnd[1][0]; i[1] <= startEnd[1][1]; i[1] ++)
{
if (maxPartNumber > 1)
{
posx = pos;
for(j = 0; j < (int)(startEnd[1][1] - startEnd[1][0] + 1); j ++)
count[j] = 0;
for(j = 0; j < ((int)maxPartNumber - 1); j ++)
{
k = maxPartNumber - j - 1;
if (numflag[1] == 0)
buffer[posx++] = numCharacter[i[k]];
else
buffer[posx++] = numCharacter2[i[k]];
count[i[k] - startEnd[1][0]] ++;
}
run = true;
for(j = 0; j < (int)(startEnd[1][1] - startEnd[1][0] + 1); j ++)
{
if (count[j] > (int)maxRepeatNum)
{
run = false;
break;
}
}
if (run)
{
buffer[posx++] = 0x0d;
buffer[posx++] = 0x0a;
WriteStringFile(buffer,posx);
}
}
for(i[0] = startEnd[0][0]; i[0] <= startEnd[0][1]; i[0] ++)
{
posx = pos;
for(j = 0; j < (int)(startEnd[0][1] - startEnd[0][0] + 1); j ++)
count[j] = 0;
for(j = 0; j < (12 - (int)maxPartNumber); j ++)
i[12 - j - 1] = startEnd[12 - j - 1][1] + 1; //for exit
for(j = 0; j < (int)maxPartNumber; j ++)
{
k = maxPartNumber - j - 1;
if (numflag[0] == 0)
buffer[posx++] = numCharacter[i[k]];
else
buffer[posx++] = numCharacter2[i[k]];
count[i[k] - startEnd[0][0]] ++;
}
run = true;
for(j = 0; j < (int)(startEnd[0][1] - startEnd[0][0] + 1); j ++)
{
if (count[j] > (int)maxRepeatNum)
{
run = false;
break;
}
}
if (run)
{
buffer[posx++] = 0x0d;
buffer[posx++] = 0x0a;
WriteStringFile(buffer,posx);
}
}
}
}
}
}
}
}
}
}
}
}
}
if (fpx)
fclose(fpx);
return 0;
}
void change(unsigned char *in,unsigned char *out)
{
int i,c;
for(i = 0; i < 2; i ++)
{
c = in[i] >> 4;
if (c < 10)
out[2*i] = '0' + c;
else
out[2*i] = 'a' + c - 10;
c = in[i] & 0x0f;
if (c < 10)
out[2*i+1] = '0' + c;
else
out[2*i+1] = 'a' + c - 10;
}
}
int readLine(unsigned char *buffer, long int buflen, long int begin, long int *end)
{
if (*end > buflen)
return FAIL;
long int i = begin;
while(i < buflen)
{
if ((buffer[i] == 0x0d) && (buffer[i+1] == 0x0a))
{
i += 2;
break;
}
else
i++;
}
if ((i >= buflen) && (buffer[i - 1] != 0x0a))
return FAIL;
else
*end = i;
return OK;
}
int checkStringOK(unsigned char *buffer,const char *name)
{
int i = 0;
while (name[i] != 0)
{
if (buffer[i] != name[i])
return FAIL;
i++;
}
if (i == 0) return FAIL;
else return OK;
}
int getName(unsigned char *buffer, long int begin, long int end, unsigned char *name)
{
long int i = begin,j;
while(i < end)
{
if (buffer[i] != ':')
i ++;
else
{
i ++;
break;
}
}
if (i >= end)
return FAIL;
while(i < end)
{
if ((buffer[i] == ' ') || (buffer[i] == 0x09))
i ++;
else
break;
}
if (i >= end)
return FAIL;
j = 0;
while(i < end)
{
if ((buffer[i] != ' ') && (buffer[i] != 0x09) &&
(buffer[i] != 0x0d) && (buffer[i] != 0x0a))
{
name[j++] = buffer[i];
i ++;
}
else
break;
}
name[j] = 0;
return OK;
}
int getData(unsigned char *buffer, long int begin, long int end, DWORD *data)
{
long int i = begin,j;
unsigned char buf[100];
while(i < end)
{
if (buffer[i] != ':')
i ++;
else
{
i ++;
break;
}
}
if (i >= end)
return FAIL;
while(i < end)
{
if ((buffer[i] == ' ') || (buffer[i] == 0x09))
i ++;
else
break;
}
if (i >= end)
return FAIL;
j = 0;
while(i < end)
{
if ((buffer[i] != ' ') && (buffer[i] != 0x09) &&
(buffer[i] != 0x0d) && (buffer[i] != 0x0a))
{
buf[j++] = buffer[i];
i ++;
}
else
break;
}
buf[j] = 0;
*data = 0;
for(i = 0; i < j; i ++)
{
*data = (*data * 10) + (buf[i] - '0');
}
return OK;
}
void readPartData(unsigned char *buffer, long int len, DWORD *start, DWORD *end, DWORD *flag)
{
long int i = 0;
while(i < len)
{
if ((buffer[i] == ' ') || (buffer[i] == 0x09))
i ++;
else
break;
}
*start = 0;
while ((i < len) && (buffer[i] >= '0') && (buffer[i] <= '9'))
{
*start = (*start * 10) + (buffer[i] - '0');
i ++;
}
while(i < len)
{
if (buffer[i] != ',')
i ++;
else
break;
}
i ++;
while(i < len)
{
if ((buffer[i] == ' ') || (buffer[i] == 0x09))
i ++;
else
break;
}
*end = 0;
while ((i < len) && (buffer[i] >= '0') && (buffer[i] <= '9'))
{
*end = (*end * 10) + (buffer[i] - '0');
i ++;
}
while(i < len)
{
if (buffer[i] != ',')
i ++;
else
break;
}
i ++;
while(i < len)
{
if ((buffer[i] == ' ') || (buffer[i] == 0x09))
i ++;
else
break;
}
*flag = 0;
while ((i < len) && (buffer[i] >= '0') && (buffer[i] <= '9'))
{
*flag = (*flag * 10) + (buffer[i] - '0');
i ++;
}
}
int getDatax(DWORD len, unsigned char *buffer, long int begin, long int end, DWORD *data)
{
long int i = begin,j,k;
while(i < end)
{
if (buffer[i] != ':')
i ++;
else
{
i ++;
break;
}
}
if (i >= end)
return FAIL;
while(i < end)
{
if ((buffer[i] == ' ') || (buffer[i] == 0x09))
i ++;
else
break;
}
if (i >= end)
return FAIL;
for(j = 0; j < (long int)len; j ++)
{
DWORD *start = data + 3*j;
DWORD *endx = data + 3*j + 1;
DWORD *flag = data + 3*j + 2;
while(i < end)
{
if (buffer[i] != '{')
i ++;
else
{
i ++;
break;
}
}
k = i;
while(k < end)
{
if (buffer[k] != '}')
k ++;
else
break;
}
k -= i;
readPartData(&buffer[i], k, start, endx, flag);
i += k;
}
return OK;
}
int checkDataOK(unsigned char *buffer, long int *begin, long int end)
{
long int i = *begin;
int go = 0;
if (buffer[i] == '/')
return FAIL;
while (i < end)
{
while (((buffer[i] == ' ') || (buffer[i] == 0x09)) && (i < end));
if ((buffer[i] >= '0') && (buffer[i] <= '9'))
{
go = 1;
break;
}
i ++;
}
if (go)
{
*begin = i;
return OK;
}
return FAIL;
}
int changeData(unsigned char *buffer, long int begin, long int end, unsigned char *bufOut1,unsigned char *bufOut2)
{
long int i = begin;
int j = 0;
while(i < end)
{
while ((i < end) && ((buffer[i] == ' ') || (buffer[i] == 0x09)))
i ++;
if ((buffer[i] >= '0') && (buffer[i] <= '9') &&
(buffer[i+1] >= '0') && (buffer[i+1] <= '9') &&
((buffer[i+2] == ' ') || (buffer[i+2] == 0x09) || (buffer[i+2] == 0x0d)))
{
if (j >= 6)
bufOut2[0] = (buffer[i] - '0') * 10 + buffer[i+1] - '0';
else
bufOut1[j] = (buffer[i] - '0') * 10 + buffer[i+1] - '0';
j ++;
if (j == 7)
return OK;
i = i + 3;
}
else
return FAIL;
}
return FAIL;
}
unsigned long int changeData5(unsigned char *pChar)
{
unsigned long int data;
int i;
data = 0;
for(i = 0; i < 10; i ++)
{
data = data * 10;
if ((pChar[i] >= '0') && (pChar[i] <= '9'))
data += (unsigned long int)(pChar[i] - '0');
else
{
data = data / 10;
break;
}
}
return data;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -