跳至内容

StringSetCharacter

StringSetCharacter

返回true,表示符号已成功插入到传递的字符串中。

bool  StringSetCharacter(
   string&   string_var,       // string
   int       pos,              // position
   ushort    character         // character
   );

参数

string_var

[in][out] 字符串。

pos

[in] 字符串中字符的位置。范围从0到StringLen(文本)。

character

[in] 符号代码Unicode值。

返回值

成功则返回true,否则返回false。

注意

如果pos小于string长度且符号代码值等于0,则字符串会被截断(但分配给字符串的[缓冲区大小](../stringbufferlen/)保持不变)。字符串长度将等于pos。

如果pos等于字符串长度,则指定符号将被添加到字符串末尾,并且长度增加1。

示例:

void OnStart()
  {
   string str="0123456789";
   Print("before: str = ",str,",StringBufferLen(str) = ",
         StringBufferLen(str),"  StringLen(str) = ",StringLen(str));
//--- add zero value in the middle
   StringSetCharacter(str,6,0);
   Print("after: str = ",str,",StringBufferLen(str) = ",
         StringBufferLen(str),"  StringLen(str) = ",StringLen(str));
//--- add symbol at the end
   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
*/

参见

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

最后更新于