StringToShortArray
StringToShortArray
函数的交易品种复制一组字符串到长短型数组的规定地点,返回复制元素的数量。
int StringToShortArray(
string text_string, // 源字符串
ushort& array[], // 数组
int start=0, // 数组启动位置
int count=-1 // 交易品种数
);参量
- text_string
[in] 字符串复制
- array[]
[out] 无符短型 型数组(wchar_t 模拟类型)
- start=0
[in] 位置,从复制值开始,默认值是0
- count=-1
[in] 复制的数组元素的数量,定义字符串结果的长度,默认值是-1,意味着根据数组的结尾来进行复制,直到0是终点。终点0也会复制到接收数组,在此情形下,如果字符串大小需要,动态数组的大小是能增加的,如果动态数组增大到跟路线一样长,数组的体积不会减小。
返回值
复制元素的数量
示例:
//+------------------------------------------------------------------+
//| Script program start function |
//+------------------------------------------------------------------+
void OnStart()
{
//--- 要转换的chars字符串
string text = "Chars: ❤♫☎✈✣☏☀✉☆☁♕♠®✧❆♣ ";
ushort short_array[];
//--- 在输入字符串中找到“:”字符的位置并从下一个字符开始提取子字符串
int pos=StringFind(text, ":");
string str=(pos<0 ? text : StringSubstr(text, pos+1));
//--- 从结果字符串的左侧和右侧删除空格、回车符和制表符
StringTrimLeft(str);
StringTrimRight(str);
//--- 将结果字符串复制到ushort数组,并将结果数组记录到日志中
int copied=StringToShortArray(str, short_array);
PrintFormat("String of characters length: %u\n"
"Number of characters copied (with terminal 0): %d\n"
"Array of chars for the string '%s':",
StringLen(str), copied, str);
ArrayPrint(short_array, 0, " | ");
/*
result:
String of characters length: 16
Number of characters copied (with terminal 0): 17
Array of chars for the string '❤♫☎✈✣☏☀✉☆☁♕♠®✧❆♣':
10084 | 9835 | 9742 | 9992 | 10019 | 9743 | 9728 | 9993 | 9734 | 9729 | 9813 | 9824 | 174 | 10023 | 10054 | 9827 | 0
*/
}