argc
and
argv
are the two parts of the command line string which are passed to your application if it is started from the command line, or given optiona arguemnets when started as a process from within a different application.
For example, if your app is registered as handling all files with an extension ".MyAppFiles" and the user double clicks on "MyFile.MyAppFiles" in Windows Explorer, you app will be started and given the file name:
C:\MyPath\MyFile.MyAppFiles
as a command line argument - so
argc
will be the count, and
argv
will be an array of strings (or more accurately a
char**
) which contains the actual data.
All the code you are looking at is doing is working out if it has enough parameters to continue and do its job in safety.