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