For game engines, people tend to avoid the CRT / STL.
The reason is that most of the time they're too general, thus sub-optimal for the given situation.
If you're using windows, you want to use CreateFileA, ReadFile, etc.
Every situation has its own specifics though, so depending on that you may want to:
- Use overlapped IO.
- Memory Map the file.
Here's the relevant episode where Casey explains things in more depth.
https://hero.handmade.network/episode/code/day152
As for libraries, it depends on what you want to do exactly.
If you want to load images / textures / resources, there's probably an
stb / stb-style
library. Those are always really good.
If it's for general purpose file-loading / file-writing, it's probably worth just rolling your own code.
Hope it helps!