Справочник MQL4

StringSetCharacter

Возвращает true при успешной вставке символа в переданную строку.

bool  StringSetCharacter(
   string&   string_var,       // строка
   int       pos,              // позиция
   ushort    character         // символ
   );

Параметры

string_var

[in][out]  Строка.

pos

[in]  Позиция символа в строке. Может быть от 0 до StringLen(text).

character

[in]  Символьный код Unicode.

Возвращаемое значение

В случае успешного выполнения возвращает true, иначе false.

Примечание

Если значение pos меньше длины строки и значение символьного кода = 0, то строка усекается (но размер буфера, распределённого под строку остаётся неизменным). Длина строки становится равной значению pos.

Если значение параметра 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));
  }
/* Результат
   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
*/

Смотри также

StringBufferLen(), StringLen(), StringFill(), StringInit()