DirectX is a lower-level API for interacting with the graphics device.
SFML and SDL are higher-level graphics libraries which simplify a lot of tedious work involved in using a lower-level API like DirectX or OpenGL directly.
SFML and SDL both sit on top of OpenGL. I don't have any experience with SFML but it, as well as SDL, have the ability to let you directly write OpenGL code if you'd like to dig into some more advanced stuff that neither library provides a simplified method of doing.
I believe neither SFML nor SDL are better than one another. It's just a preference - like OpenGL vs DirectX (ignoring cross-platform arguments and special use-cases).
I'd personally recommend using SDL. I know for a fact there's plenty of great tutorials on getting started with it and it's fantastic for 2D games. Later on you can jump into 3D graphics programming by using the OpenGL bindings with SDL.
Check out http://lazyfoo.net/S...rials/index.php
for some quick, easy, well-written tutorials on setting up and using various parts of SDL.
SFML seems to be under active development though and has some interesting features to it.
Grab one, run with it, follow the intro tutorials and play around.
Edited by caldiar, 29 August 2012 - 02:09 PM.