传递字符串参量示例
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, | 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'