To add to the previous answer.
(1) Why go to vc++? Why not any other c++ or c? I mean it depends on the complexity or otherwise of the C program. (You mention "C" and not "C++" as the source. If straaght "C", then maybe some other (even free) "C" compiler).
(2) Yes, header files are a problem. But again all you gotta do is find the matching header. Eg. curses could be substituted weith conio. Coupled with conditional compiles, flag setting and you have it.
A use I put it to is to convert and establish application data controls between "flat files"/csv ftp'ped between Unix and DOS/W98. The common program runs at both ends.
Hope this helps.
End of mail.