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'