Ещё одна ошибка (не знаю, последняя ли): iconv изменяет значения переданных ему указателей. Указатель, объявленный как массив, изменить нельзя. Собственно, компилятор вам об этом говорил, пока вы ему не заткнули рот явным преобразованием типа (char**). Никогда не игнорируйте подобных предупреждений.
Исправляется это так: объявляете 2 указателя char *in = OrigStr, *out = ResStr; и передаёте iconv'у их.
Ещё одна ошибка (не знаю, последняя ли): iconv изменяет значения переданных ему указателей. Указатель, объявленный как массив, изменить нельзя. Собственно, компилятор вам об этом говорил, пока вы ему не заткнули рот явным преобразованием типа (char**). Никогда не игнорируйте подобных предупреждений.
Исправляется это так: объявляете 2 указателя char *in = OrigStr, *out = ResStr; и передаёте iconv'у их.
Действительно, дело оказалось в этом (уже и сам успел дойти ). Теперь работает. Спасибо за мудрые советы