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(textpos+1));
//--- 从结果字符串的左侧和右侧删除空格、回车符和制表符
   StringTrimLeft(str);
   StringTrimRight(str);
//--- 将结果字符串复制到ushort数组,并将结果数组记录到日志中
   int copied=StringToShortArray(strshort_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), copiedstr);
   ArrayPrint(short_array0" | ");
   /*
   result:
   String of characters length16
   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
   */
  }

另见

ShortArrayToStringStringToCharArray代码页使用