A SWI-Prolog string represents a byte-string on the global stack. Its
lifetime is the same as for compound terms and other data living on the
global stack. Strings are not only a compound representation of text
that is garbage-collected, but as they can contain 0-bytes, they can be
used to contain arbitrary C-data structures. However, it is generally
preferred to use blobs for storing arbitrary C-data structures (see also PlTerm_pointer(void
*ptr)).
- PlTerm_string :: PlTerm_string(const wchar_t
*text)
- PlTerm_string :: PlTerm_string(const char
*text, PlEncoding rep=ENC_INPUT)
- Create a SWI-Prolog string object from a 0-terminated C-string. The
text is copied. rep gives the byte encoding (see
section 1.8.2).
- PlTerm_string :: PlTerm_string(const wchar_t
*text, size_t len)
- PlTerm_string :: PlTerm_string(const char
*text, size_t len, PlEncoding rep=ENC_INPUT)
- PlTerm_string :: PlTerm_string(const
std::string& text, PlEncoding rep=ENC_INPUT)
- PlTerm_string :: PlTerm_string(const
std::wstring& text)
- Create a SWI-Prolog string object from a C-string with specified length.
The text may contain 0-characters and is copied.