Yes, I've done something like that before. It's probably better to use delta timing, but the method you mention works.
When I did it, I rendered a frame and then looped until the frame time was 16 ms (milliseconds). As there are 1000 ms in a second, 60 fps equals 16 ms per frame. My loop was just a simple loop that got the elapsed time in the current frame and keep repeating until elapsed time was equal to or greater than 16 ms.
Something like this:
* Render frame
* Check time taken to render frame
* If frame time > or = 16 ms then render next frame
* If frame time < 16 ms, wait until we've hit 16 ms and then render next frame.