I've been trying playing around with SDL and I heard about SFML from some people here so I'm just wondering which one would be better to experiment with first and about their pros and cons.
Stick to SFML as it will ultimately become more widely used than SDL. The only real reason SDL is so popular is due to amateur game developers. SFML is faster, more modern, and easier to use. I'm not going to list out all the pros and cons for the APIs. I recommend you jump over to the gamdev.net forums where this has been covered in detail.
Pure Assumption? These APIs are only popular because of the game development community. Spend some time in the game dev forums and you'll see which direction its heading. SDL is a C API, it makes no sense to use if there is an equivalent C++ API which in this case is actually better, however there is nothing wrong with learning both.
I personally prefer SFML over many other media libraries. I also prefer it over the standard pThreads or boost library when it comes to threading. I use it for more then just game dev, though I admit my first project with it was a game.
SFML uses more modern and cleaner coding techniques, better looking documentation (if you consider external documentation valid), more convenient uses, etc.
SFML also provides a hardware accelerated graphics API where SDL is still based on software rendering and integration with OpenGL is a complete bitch.
SFML, imho, has already surpassed SDL in many aspects as a free multimedia library.
I don't know if you still have a problem displaying a window, or if you even care about it anymore, but in order to display a window, you have to use RenderWindow WhateverYouWantToNameItand then use have to use WhateverYouWantToNameIt.Draw(/*what you want to draw in here*/); in order to draw something on it and WhateverYouWantToNameIt.Display();to actually display the screen.
I don't know if you still have a problem displaying a window, or if you even care about it anymore, but in order to display a window, you have to use RenderWindow WhateverYouWantToNameItand then use have to use WhateverYouWantToNameIt.Draw(/*what you want to draw in here*/); in order to draw something on it and WhateverYouWantToNameIt.Display();to actually display the screen.
Thanks, but I actually just had problems getting the window itself to display(not actually getting something to draw). I might give it another try and see if I can get it to work.