ANSI Error Message Functions
Internationalization (I18n) Issues:
These functions do not have wide character counterparts, so conversion will have to be performed in a UTF-16 (or UTF-32) wide character application.
More significantly, these functions will format messages in the native language of the operating system, typically English. If these messages are to be displayed to the end user of your application and you are localizing your application, you therefore will have to avoid these functions completely and generate your own localized messages.
I18n Solution:
If the strings generated by these functions need to be localized since they will be displayed to the application user, you will have to abandon these functions altogether and create your own localized and externalized error messages.
If the strings generated by these functions are not displayed to the application user, for example, for debugging or to a log file that the user will not typically view, then you may continue to use them.
Note however that there are no wide versions of these functions, so in a wide character UTF-16 (or UTF-32) application, strings returned by these functions will have to be converted from UTF-8 char* multibyte strings to wchar_t* wide character strings
See Multibyte and Wide Character Conversion Functions for more information on converting between UTF-8 multibyte and UTF-16 or UTF-32 wide character data. More conversion information can also be found at Restartable Multibyte Conversion Functions.
Click on a function for more information:
err
error
error_at_line
errx
psignal
strerror_r
strsignal
verr
verrx
vwarn
vwarnx
warn
warnx
Locale-Sensitive C++ Methods
|