CHARAND()

Combine corresponding ASCII value of two strings with bitwise AND

Syntax

CHARAND (<[@]cString1>, <cString2>) --> cAndString

Arguments

<[@]cString1> first string <cString2> second string

Returns

<cAndString> string with bitwise AND combined ASCII values

Description

The CHARAND() function constructs a new string from the two strings passed as parameters. To do this, it combines the ASCII values of the corresponding characters of both strings with a bitwise AND-operation and places a character in the resulting string whose ASCII value equals to the result of that operation. If the first string is passed by reference, the resulting string is stored in <cString1>, too. By setting the CSETREF()-switch to .T., the return value can be omitted. If <cString2> is shorter than <cString1> and the last character of <cString2> has been processed, the function restarts with the first character of <cString2>.
Examples
      // clear the LSB
      ? charand ("012345678", chr(254)) --> "002244668"
      ? charand ("012345678", chr(254)+chr(252)) --> "002044648"
Tests
      charand ("012345678", chr(254)) == "002244668"
      charand ("012345678", chr(254)+chr(252)) == "002044648"
Status

Ready

Compliance

CHARAND() is compatible with CT3's CHARAND().

Platforms

All

Files

Source is charop.c, library is ct3.

See Also