exponenta event banner

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

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,
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'

Связанные темы