sscanf(str, "%lf", &num);
Здесь я пытаюсь разобрать дубль. Ловит inf что нормально. Однако он также ловит infififi как inf, что неправильно в моем случае.
inf
infififi
Другие примеры будут nandoscope как nan и 123abc как 123. Как исправить это поведение?
nandoscope
nan
123abc
123
Это по замыслу, поэтому не нуждается в исправлении. Возможно, вы можете переписать свой код, чтобы прочитать разделитель после двойного, или посмотреть, читает ли sscanf всю строку.