в const строке есть указатель на подстроку и известна ее длина. в подстроке нужно чего-то найти. делать дубликат этой подстроки с терминатором и искать в нем (так обычно все делают) - оверхед бессмысленный
These functions return the number of input items successfully matched and assigned, which can be fewer than provided for, or even zero in the event of an early matching failure.
Число sz может быть меньше длины строки. Кроме того функция может удачно прочитать данные за пределами выделенного массива и вернуть res > 0. Проверял с gcc.
Это далеко не все проблемы этого костыля. Но стоит ли даже начинать их перечислять, когда код и так каждой своей строчкой кричит, что запускать его не надо?