views:

221

answers:

3

So I have some class starting with

#include <wchar.h>
#include <stdlib.h>

ant there is that function wmain.

What is it different from main function i usualy use in my C classes?

A: 

main is the normal program entry point in c & c++ and is passed the command line in single byte characters. wmain is an alternative that is used in many windows programs for unicode programs where it instead gets passed the command line as wide 16 bit unicode characters.

I believe it's a windows extension for unicode programs.

John Burton
Is it Windows only or it'll work for Unix compiler?
Blender
+4  A: 

The difference between main and wmain is the type used to represent the arguments to the program. The main function uses normal char while wmain uses wchar_t which can accept unicode values

JaredPar
A: 

"If your code adheres to the Unicode programming model, you can use the wide-character version of main, which is wmain."

http://msdn.microsoft.com/en-us/library/aa299386%28VS.60%29.aspx

main( int argc, char *argv[ ], char *envp[ ] )
{
program-statements
}

wmain( int argc, wchar_t *argv[ ], wchar_t *envp[ ] )
{
program-statements
}
Bruce