Похоже, что реализация LynxOS strtod
не обрабатывает все те же случаи, что и в Linux, или в этом отношении Solaris. У меня проблема в том, что я пытаюсь разобрать текст, который может содержать десятичные или шестнадцатеричные числа.
В Linux я звоню
a = strtod(pStr, (char **)NULL);
и я получаю ожидаемые значения в a
для входных строк, таких как 1.234567
и 0x40
.
В LynxOS десятичные числа анализируются правильно, но шестнадцатеричный код анализируется просто как 0 из-за остановки, когда он достигает «x». Глядя на справочные страницы, кажется, что strtod LynxOS поддерживает только десятичные строки во входных данных.
Кто-нибудь здесь знает альтернативу, которая будет работать как на Lynx, так и на Linux?