下载MetaTrader 5

ArrayFill

以指定值填充数组的函数。

void  ArrayFill(
   void&  array[],       // 数组
   uint   start,         // 开始标引
   uint   count,         // 填充的元素数量
   void   value          // 值
   );

参数

array[]

[out]  简单类型的数组 (char, uchar, short, ushort, int, uint, long, ulong, bool, color, datetime, float, double)。

start

[in]  开始标引。在这种情况下,指定的AS_SERIES flag被忽略。

count

[in] 填充的元素数量。

value

[in]  填充数组的值。

返回值

无返回值。

注意

当调用ArrayFill() 函数时,正常的标引导向(从左至右)始终隐藏。它意味着改变使用ArraySetAsSeries()函数访问数组元素的顺序被忽略。

当通过ArrayFill()函数处理时多维数组显示为一维数组。例如,array[2][4] 处理为array[8]。 因此,当使用该数组时,您可以指定初始元素的标引等于5。因此,为 array[2][4] 调用ArrayFill(array, 5, 2, 3.14),用3.14来填充array[1][1] 和 array[1][2]。

例如:

void OnStart()
  {
//--- 声明动态数组
   int a[];
//--- 设置大小
   ArrayResize(a,10);
//--- 用123填充前5个元素
   ArrayFill(a,0,5,123);
//--- 用456填充后5个元素
   ArrayFill(a,5,5,456);
//--- 显示值
   for(int i=0;i<ArraySize(a);i++) printf("a[%d] = %d",i,a[i]);
  }


更新: 2015.12.03