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'