23
No, there isn't as standard, but the two do different things. fprinft, as part of stdio, does things like buffer reads and writes, supports ungetc etc. Using a fd bypasses all that and calls the OS directly.
So they're not interchangeable. Flip flopping between them would screw up stdio buffering if nothing else