下载MetaTrader 5
MQL5参考字符串函数StringSetChatacter 

StringSetCharacter

在指定位置上返回字符串上复制的改变字节。

bool  StringSetCharacter(
   string&   string_var,       // 字符串
   int       pos,              // 位置
   ushort    character         // 字符
   );

参量

string_var

[in][out]  String.

pos

[in]  在字符串上的位置特性,从0开始到 StringLen (文本)

character

[in]  交易品种代码Unicode。

注释

如果销售点少于 字符串长度 并且交易品种代码值是0,切断字符串(但是 缓冲区大小 ,为未改变的字符串类型分散),字符串长度与销售点相同。

如果pos与字符串长度相同,指定交易品种会添加到字符串末尾,长度会一个接一个扩大。

示例:

void OnStart()
  {
   string str="0123456789";
   Print("before: str = ",str,",StringBufferLen(str) = ",
         StringBufferLen(str),"  StringLen(str) = ",StringLen(str));
//--- 在中心添加零值
   StringSetCharacter(str,6,0);
   Print("  after: str = ",str,",StringBufferLen(str) = ",
         StringBufferLen(str),"  StringLen(str) = ",StringLen(str));
//--- 在末尾添加交易品种
   int size=StringLen(str);
   StringSetCharacter(str,size,'+');
   Print("addition: str = ",str,",StringBufferLen(str) = ",
         StringBufferLen(str),"  StringLen(str) = ",StringLen(str));
  }
/* Result
   before: str = 0123456789 ,StringBufferLen(str) = 0   StringLen(str) = 10
    after: str = 012345 ,StringBufferLen(str) = 16   StringLen(str) = 6
   addition: str = 012345+ ,StringBufferLen(str) = 16   StringLen(str) = 7
*/

另见

StringBufferLenStringLenStringFillStringInit


更新: 2015.12.03