[ Strings and Atoms | The ECLiPSe Built-In Predicates | Reference Manual | Alphabetic Index ]

# concat_strings(+Src1, +Src2, -Dest)

Succeeds if Dest is the concatenation of Src1 and Src2.

Src1
  String.
Src2
  String.
Dest
  String or variable.

## Description

Dest is unified with the concatenation of Src1 and Src2.

### Modes and Determinism

- concat_strings(+, +, -) is det

### Exceptions

(4) instantiation fault
  Either (or both) of Src1 and Src2 is not instantiated (non-coroutine mode only).
(5) type error
  Either (or both) of Src1 and Src2 is instantiated, but not to a string.
(5) type error
  Dest is neither a string nor a variable.

## Examples

    Success:
      concat_strings("abc","def",X). (gives X="abcdef").

      [eclipse]: [user].
       absolutename(File,Abs) :-
               string_list(File,List),
               arg(1,List,0'/) -> Abs = File;
                                (getcwd(Cwd),
                                 concat_strings(Cwd,File,Abs)).
       user compiled 256 bytes in 0.02 seconds
      yes.
      [eclipse]: absolutename("d.pl",P), absolutename("/usr/bin",F).
      P = "/home/lp/user/d.pl"
      F = "/usr/bin"
      yes.

    Fail:
      concat_strings("ab","bc","abc").

    Error:
      concat_strings("a",X,"ab").             (Error 4).
      concat_strings("big",'gest',X).         (Error 5).

## See Also

append_strings / 3, concat_atoms / 3