According to the MSDN docs on the /F Compiler Option[1]
Without this option the stack size defaults to 1 MB.
I remember reading somthing a while ago about calculating the size of the remaining stack space by using the stack pointer and a pointer to the base of the stack. However this used an undocumented feature of the Windows API and I'm having trouble tracking it down.
edit:
All I have found is:
Look at the difference between the current stack pointer and
(PNT_TIB)NtCurrentTeb()->StackLimit.
it may help you on your way to tracking down a 'better' answer.