That startup code doesn't need fixing. It's in C. C++ is just an overly hyped addition to C, with object oriented programming and some nifty STL things.
For such a simple group of functions, the addition of OOP does nothing for you. This is why using C is as good, if not better than using C++ for these functions. You might want to utilize the string class, but aside from that I see no reason to convert anything in that program to C++.
As for this... I'm not sure what you're asking. Do you want to know if users will be installing it to c:\myprog.exe ? Or do you want to know what the current location of your file will be?And for my program:
"c:\\myprog.exe"
How I know where the ones using my program having it installed there?
If you want to know the current location of the file, it'll be a parameter of int main(), called argv[0].