C standard string and stdio library deals with ASCII strings. ASCII character set is very limited and can support only English language and with some special characters some set of European languages. These character set is not enough to support entire set of languages available around the world.

Scientists came with UNICODE standard. UNICODE is an international encoding standard for use with different languages and scripts, by which each letter, digit, or symbol is assigned a unique numeric value that applies across different platforms and programs.

UNICODE character holds 2 bytes per character and often known as wide character in programming world. Lower byte of the word contains ASCII index and upper byte contains language identity. We should not use standard string functions available in C library to handle UNICODE strings. UNICODE supported C compiler expose a set of wide character functions similar to string and stdio functions. These functions often prefix with "w" like wprintf, wscanf, wscanf, wsprintf etc.

One of the major advantage of UNICODE is that programmer can make their application multilingual. Programs generally use a string table and write a unified logic to display strings. String tables are the resource which holds strings in different languages. Programmer can load resource library during startup and can change the language depending on the locations of the user.

About our authors: Team EQA

Further readings

Where is WinMain() function in MFC application ?

MFC hides WinMain in its framework and includes source file on WinMain(). This explains how framework calls global CWinApp::Initinstance() from entry WinMain.

What is the utility of CWinApp class?

This is constructed during global C++ objects are constructed and is already available when Windows calls the WinMain function, which is supplied by the ...

Basic steps in Win32 GUI Application with source code.

Define a custom Window class structure, Register the class name, CreateWindow, Show windows and write message get and dispatch loop statements. Define the Window CallBack procedure and write the handlers.

What is a Window CallBack procedure and what is its utility?

DispatchMessage() is a API which indirectly triggers the Window CallBack procedure. Message structure members from this function are passed to the CallBack procedure. CallBack procedure should implement event handlers depending on the need of the application.

What are LPARAM and WPARAM in window proc function?

LPARAM and WPARAM are the two parameters in Window CallBack procedure. They signifies parameters of various events. They are used in handing individual events.

What are the basic steps of a typical MFC based application?

We need to write WinMain and need to follow all these in a Win32 application. However we need not to write much if we are writing an application with MFC ...

#