Actually, the idea that a spacecraft cannot reach the speed of light because infinite energy required is a misconception. Since the energy contained within your spacecraft's fuel is related to its mass (E=mc^2, anyone?), that means that the energy of your fuel increases in direct proportion to the mass of your spacecraft as it becomes more massive. What actually stops your spacecraft from reaching the speed of light is time dilation.
Let's say that the speed of light is exactly 300,000 km/s (it is a bit less than that, but let's assume for convenience, ok?). Now, if your spacecraft were to accelerate at a constant 10 m/s^2, it would take 30,000,000 seconds (a little less than a year) to reach the speed of light. To anyone on board the spacecraft, it WOULD take 30 million seconds to reach the speed of light as he perceives time. HOWEVER, time dilation means that those last few seconds as the spacecraft approaches light speed will be stretched out infinitely. Thus, to the space traveler, time for the rest of the universe would be speeding up until the entire remaining lifespan of the universe is contained in those last few seconds. This is the real reason why one cannot reach the speed of light--it is TIME which is the barrier, not ENERGY.