字符串处理函数矩阵C API
如何MATLAB在墨西哥人代表字符串文件
在C / c++墨西哥人函数建立的矩阵C API, MATLAB®特征向量是一个mxArray
类型的mxChar
使用locale-neutral数据表示(Unicode®编码)。MATLAB是c风格的字符串作为类型字符
指定的字符编码方案,并使用由用户语言环境设置。
下列矩阵C API函数提供字符串处理功能来帮助你工作mxArrays和C风格的字符串。
mxCreateString
——创建一个mxChar
mxArray初始化输入字符串。mxArrayToString
-副本mxChar
mxArray c风格的字符串。金宝app支持多字节编码的字符。mxGetString
-副本mxChar
mxArray c风格的字符串。最好使用单字节编码字符。金宝app支持多字节编码字符时计算字符串缓冲区大小。mxGetChars
——返回一个指针指向第一个mxChar
mxArray元素。
考虑下面的主题在选择一个字符串处理函数。
字符编码和多字节编码方案
MATLAB支金宝app持字符编码方案由用户指定的区域设置。当一个MX库函数转换mxChar
数据一个C字符
类型,MATLAB还将字符转换为用户默认编码。
如果您使用多字节编码方案,使用mxArrayToString
函数。
的mxGetChars
函数提供了一个指针mxChar
数组;它不改变字符编码。
您还可以使用mxGetString
函数与多字节编码方案。mxGetString
转换mxChar
数据用户默认编码,并将转换后的字符复制到目标缓冲区。但是,你必须计算目标缓冲区的大小。对于单字节编码,缓冲区的大小是字符的数量,加上1
空的终结者。多字节编码的字符是一个或多个字节大小。一些选项计算缓冲区大小被高估(计算字符数倍的最大字节数所使用的编码方案),分析字符串来确定每个字符使用的精确尺寸,或利用第三方库字符串缓冲区。这个计算后,添加1
空的终结者。
转换MATLAB特征向量c风格的字符串
当您传递一个字符数组,一个墨西哥人函数,这是一个mxArray
类型的mxChar
。如果你调用一个C函数来操作字符串,首先将数据转换成C类型字符
使用mxArrayToString
或mxGetString
功能。
将c风格的字符串转换为MATLAB特征向量
如果你的墨西哥人文件创建一个MATLAB C字符串并返回数据,使用mxCreateString
函数C字符串复制到一个mxChar
数组中。
返回修改输入字符串
假设你的墨西哥人文件字符输入,修改它,并返回结果。从文件输入参数(墨西哥人prhs
数组)是只读的,您必须定义一个单独的输出参数处理修改后的字符串。
内存管理
MathWorks®建议墨西哥人文件函数摧毁自己的临时数组和自由自己的动态分配的内存。函数用来释放内存取决于你如何使用字符串缓冲区函数用于创建缓冲区。
如果你调用这个函数 |
使用这个函数释放内存 |
---|---|
任何字符串函数列在这里 |
不破坏
|
|
|
|
当使用 |
|
|
|
一个也没有。创建一个指针指向一个函数 |