Package: cffi

Function foreign-string-alloc

Lambda List

foreign-string-alloc (string &key encoding null-terminated-p start end)


string -- A Lisp string.
encoding -- Foreign encoding. Defaults to *default-foreign-encoding*.
null-terminated-p -- Boolean, defaults to true.
start, end -- Bounding index designators of string. 0 and nil, by default.

Return Value

A pointer to the newly allocated foreign string.


The foreign-string-alloc function allocates foreign memory holding a copy of string converted using the specified encoding. start specifies an offset into string and end marks the position following the last element of the foreign string.

This string must be freed with foreign-string-free.

If null-terminated-p is false, the string will not be null-terminated.


  CFFI> (defparameter *str* (foreign-string-alloc "Hello, foreign world!"))
  => #<FOREIGN-ADDRESS #x00400560>
  CFFI> (foreign-funcall "strlen" :pointer *str* :int)
  => 21  

See also