Dividing a long (arbitrary-precision) number by an integer
Bug
Given the input 91 and dividing by 9, your program gives 1 as the answer instead of 10.  The problem is here:
        int localQuotient = localDivident / divisor;
        if (localQuotient &gt; 0) {
            quotient[j++] = toCharacter(localQuotient);
            localDivident -= localQuotient * divisor;
        }

You have an if statement that excludes localQuotient == 0, but it shouldn't.  This is what prevents the 0 from being output.
Code simplification
You also have two other special cases dealing with zeros that can be removed, because they are properly handled by the normal case code.  Your main loop should be reduced from 16 lines to these 6 lines:
for (i = 0, j = 0; i &lt; length; i++) {
    localDivident = localDivident * 10 + toNumber(a[i]);
    int localQuotient = localDivident / divisor;
    quotient[j++] = toCharacter(localQuotient);
    localDivident -= localQuotient * divisor;
}