Internationalization and localization tools


Process Control Function

int execve(const char *filename, char *const argv[], char *const env[]);

int _execve(const char *cmdname, const char *const *argv, const char *const *envp);

int _wexecve(const wchar_t *cmdname, const wchar_t *const *argv, const wchar_t *const *envp);

int _texecve(const TCHAR *cmdname, const TCHAR *const *argv, const TCHAR *const *envp);

Internationalization (I18n) Function Overview

These functions load and execute a new process. They are similar to _execv/execv, but permit you to specify the environment for the new program explicitly. The environment argument is passed following the null pointer that marks the last argv argument, and should be an array of strings in the same format as for the environ variable.

_wexecve is the wide-character version of the function; its parameters and return value are wide characters. _wexecve is supported on Windows platforms only. There is no wide version on ANSI platforms.

_texecve is the Windows-only Generic version of the function; with the _MBCS or _UNICODE compiler flags determining its mapping to either _execve or _wexecve.

I18n Issues

Use the appropriate version of the function as required for internationalization support, noting the following:

For a Windows MBCS application, _execve depends on the multibyte code page in effect. By default, the multibyte code page is set to the system-default ANSI code page obtained from the operating system at program startup. Use _getmbcp and _setmbcp to query or change the current multibyte code page, respectively.

There is no ANSI wide character version of this function. The parameters will have to be converted to multibyte UTF-8 characters and then the execve function can be used.

Recommended Replacements*

*If you're already using the recommended function, see I18n Issues for other reasons why Globalyzer is detecting the function.

Process Control Functions

 

Lingoport internationalization and localization services and software