Передайте примеры аргументов в виде строк

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.

Тип возвратаИмяАргументы
[строка,
cstring]
stringToUpper(cstring)

Преобразуйте символьный массив MATLAB в верхний регистр

В этом примере показано, как передать символьный массив 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'

Похожие темы