Чего то я не понял с функциями из библиотеки string.h?
Все функции из пакета возвращают число int.
Во-первых, string.h - это не пакет, а набор объявлений для группы функций из стандартной библиотеки функций языка C. То есть библиотека включает в себя вообще все функции, а файлы с объявлениями позволяют подключать (объявлять) их только нужными группами.
Во-вторых, не все функции для работы со строками возвращают int. Это ты сам придумал, где-то что-то перепутав. Строковые функции бывают разными - и возвращающими int, и возвращающими char *, и возвращающими size_t. Функция strstr() возвращает char * - указатель на начало найденной подстроки, либо NULL, если подстрока не найдена.
Если тебе нужно определить позицию найденной подстроки в строке, то нужно из адреса этой подстроки вычесть начало всей строки.
Смотрите документацию. тык
Не скажу за все, но обычно функции из string.h возвращают null, либо указатель на ячейку. Чтобы получить номер ячейки надо брать их разность.