Main Content

传递字符串参量示例

stringToUpper 函数

shrlibsample 库中的 stringToUpper 函数将输入参量中的字符转换为大写。输入参数 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'

相关主题