Rella
Rella

Reputation: 66945

What is the difference between wmain and main?

So I have some class starting with

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

and there is a wmain function .

How is it different from main function i usually use in my C/C++ programs?

Upvotes: 39

Views: 23113

Answers (3)

Corey
Corey

Reputation: 3205

"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
}

Upvotes: 27

JaredPar
JaredPar

Reputation: 754695

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

Upvotes: 22

jcoder
jcoder

Reputation: 30035

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.

Upvotes: 2

Related Questions