stringToUpper Функция stringToUpper функции в shrlibsample библиотека преобразует символы во входном аргументе в верхний регистр. Входной параметр, char *, является C-указателем на строку.
EXPORTED_FUNCTION char* stringToUpper(char *input)
{
char *p = input;
if (p != NULL)
while (*p!=0)
*p++ = toupper(*p);
return input;
}Подпись функции для stringToUpper показано в следующей таблице. MATLAB ® отображает тип указателя C (char *) в cstring таким образом, в функцию можно передать массив символов MATLAB.
| Тип возврата | Имя | Аргументы |
|---|---|---|
[cstring, | stringToUpper | (cstring) |
В этом примере показано, как передать массив символов MATLAB str функции C, stringToUpper.
str = 'This was a Mixed Case string';Загрузите библиотеку, содержащую stringToUpper функция.
if not(libisloaded('shrlibsample')) addpath(fullfile(matlabroot,'extern','examples','shrlib')) loadlibrary('shrlibsample') end
Проход str к функции.
res = calllib('shrlibsample','stringToUpper',str)
res = 'THIS WAS A MIXED CASE STRING'
Входной параметр является указателем на тип char. Однако массив символов MATLAB не является указателем, поэтому stringToUpper функция не изменяет входной аргумент, str.
str
str = 'This was a Mixed Case string'