Теперь перед вами раскрываются достаточно широкие горизонты. Вот лишь несколько примеров: 1) Быстрая конвертация строки типа "A001" в целое число и обратно: jInt jNATIVE String2RawCode(jString input) { const char *str = jStrGet(input); if (strlen(str) == 1) return str[0]; else if (strlen(str) == 4) { char newstr[4]; newstr[0] = str[3]; newstr[1] = str[2]; newstr[2] = str[1]; newstr[3] = str[0]; return *((jInt*)newstr); } return 0; } jString jNATIVE RawCode2String(jInt input) { char *str = (char*)&input; char newstr[5]; if (input < 255) { newstr[0] = str[0]; newstr[1] = '\0'; } else { newstr[0] = str[3]; newstr[1] = str[2]; newstr[2] = str[1]; newstr[3] = str[0]; newstr[4] = '\0'; } return jStrMap(newstr); } 2) Динамически аллоцируемый массив jInt jNATIVE ArrayAlloc(jInt len) { return (jInt)malloc(sizeof(jInt)*len); } jInt jNATIVE ArraySet(jInt array,jInt index,jInt val) { int *p = (int *)array; p[index] = val; return p[index]; } jInt jNATIVE ArrayGet(jInt array, jInt index) { int *p = (int *) array; return p[index]; } jInt jNATIVE ArrayFree(jInt array) { int *p = (int *)array; free(p); return 0; } И так далее.
|