I sent a .sln file (instead of .cpp file) to a friend; will he be able to read the source code from it or is it just a file used from Visual Studio to load projects?
No, SLN files only store the project settings. You should send him the whole project in a compressed file.
Just so you know, the recommended way to share code with other people is using a version control system, like GIT.