Q:

Can we use std::fstream instead of SDL_RWops in SDL2? 

As the title, does SDL_RWops have any advantages over std::fstream in dealing with I/O file?  Can I use std::fstream instead because I am more familiar with it? 

A:

By reading their documentation, you can find that std::fstream is an:

Input/output stream class to operate on files. 

On the other side, SDL_RWops is something more:

SDL_RWops is an abstraction over I/O. It provides interfaces to read, write and seek data in a stream, without the caller needing to know where the data is coming from. 
For example, a RWops might be fed by a memory buffer, or a file on disk, or a connection to a web server, without any changes to how the caller consumes the data. 

Quite stronger an abstraction. 
So, can you use std::fstream in place of SDL_RWops for your files?  Absolutely, if you feel more confident, go with it.  The latter is an useful abstraction over any sort of stream in your game, so the advantage is something beyond reading a file.