Can this FindString function be optimized further, in terms of speed?
Some comments to add to the first two of @200_success:


strstr does a good job. Why reinvent?
sizes are often passed as size_t rather than int
modifying the loop variable within the loop is generally considered bad
practice
i -= j executes on every loop unless there is a match.  Mostly in this
case j is zero so the line has no effect, but it still executes
if fstr is an empty string it returns the wrong result (1)
add some spaces around operators and after if, for