So lets say I have an audio file, "hello.mp3". I want to split this file into all of its frequencies, so if the audio file contains 12hz, 412hz and 200hz, I get files containing those frequencies.
You need to use something like libfft which can be found at http://www.fftw.org/. This will allow you to convert discrete sampled audio data to discrete sampled frequency data.
The Fourier Transform converts sequentially sampled time-domain data into sequentially sampled frequency-domain data, and then back again.
You will need to further investigate windowing and overlap-add functions as part of this process.