stringToUpper
ФункцияThe 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.
Тип возврата | Имя | Аргументы |
---|---|---|
[строка, | 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'