This is not true for everyone, I see this advice too much around here. For some people the fun is actually in writing the systems software and not the game itself, I have done both and I much prefer writing the systems to help other people create the games.
Also remember that for the platform specific implementations you don't need to go with a C interface this works perfectly fine with classes too.
Hey, if writing a cross platform file system floats your boat (assuming you are doing it on your own time and not wasting your employers time), that's cool. Go nuts and sincerely, I hope you end up with something epic that we can all benefit from.
Most people don't bother with it because it's essentially a solved problem, and unless your solution brings something new, it's pretty much a waste of time (in the context of trying to get a game made).
And yes, I'm aware that classes will work fine, I was illustrating the point with the OPs example.
My comment was more aimed at that we throw this thing at everyone on this forum, but the reality is that in triple A companies you will probably end up developing your own system instead of using a lib. So this is definitely not a waste of time and it is a good thing to know how these things work.
Besides most external libs won't actually work for the consoles you are working on so developing these things is actually worth while.
See on this website we mostly only seem to worry about pc compatiblity, but when you hit consoles or even mobile phones this situation starts to change completely, because they neither support windows api or posix on all spots. And with the new generation it is actually not such a stretch that people here will be able to develop for them to be honest just look at the PSN indie and Xbox Indie programs.