RAD Studio VCL Reference
WideString::data Method

Returns a pointer to the underlying string System::WideString::data.

function data: WideChar*;
__fastcall WideChar* data();

System::WideString::data returns a pointer to a null-terminated character array that the System::WideString uses to store its value. This is the same value as the one returned by the System::WideString::c_str method, except that System::WideString::data returns a NULL pointer when the value is an empty string.

Note: Because System::WideString::data returns NULL instead of an empty string, it is useful for C++ functions that expect either a valid (non-empty) char* or NULL. The following example assumes that TCHAR mapping is not set to wchar_t:

WideString x;
    ShellExecute(0, static_cast<const char*>(x.data()), "File.txt", NULL, NULL, SW_SHOW);

If TCHAR mapping is set to wchar_t, ShellExecute becomes the wide version, ShellExecuteW. If you want to use the Ansi version of ShellExecute when TCHAR mapping is set to wchar_t, you should specify ShellExecuteA. 



TCHAR Mapping

Copyright(C) 2009 Embarcadero Technologies, Inc. All Rights Reserved.
What do you think about this topic? Send feedback!