Pass String Arguments Examples
stringToUpper
Function
The stringToUpper
function in the
shrlibsample
library converts the characters in the input
argument to uppercase. The input parameter, char *
, is a C
pointer to a string.
EXPORTED_FUNCTION char* stringToUpper(char *input) { char *p = input; if (p != NULL) while (*p!=0) *p++ = toupper(*p); return input; }
The function signature for stringToUpper
is shown in the
following table. MATLAB® maps the C pointer type (char *
) into
cstring
so you can pass a MATLAB character array to the function.
Return Type | Name | Arguments |
---|---|---|
[cstring, | stringToUpper | (cstring) |
Convert MATLAB Character Array to Uppercase
This example shows how to pass a MATLAB character array str
to a C function, stringToUpper
.
str = 'This was a Mixed Case string';
Load the library containing the stringToUpper
function.
if not(libisloaded('shrlibsample')) addpath(fullfile(matlabroot,'extern','examples','shrlib')) loadlibrary('shrlibsample') end
Pass str
to the function.
res = calllib('shrlibsample','stringToUpper',str)
res = 'THIS WAS A MIXED CASE STRING'
The input parameter is a pointer to type char
. However, a MATLAB character array is not a pointer, so the stringToUpper
function does not modify the input argument, str
.
str
str = 'This was a Mixed Case string'