mirror of
https://github.com/vlang/v.git
synced 2023-08-10 21:13:21 +03:00
doc: update obsolete string(x)/string(x,len) to .vstring() and .vstring_with_len(len)
This commit is contained in:
parent
6f7889a3ca
commit
3915d13b8d
@ -2854,11 +2854,12 @@ For example: `-cc gcc-9 -cflags -fsanitize=thread`.
|
|||||||
|
|
||||||
### C types
|
### C types
|
||||||
|
|
||||||
Ordinary zero terminated C strings can be converted to V strings with `string(cstring)`
|
Ordinary zero terminated C strings can be converted to V strings with
|
||||||
or `string(cstring, len)`.
|
`unsafe { charptr(cstring).vstring() }` or if you know their length already with
|
||||||
|
`unsafe { charptr(cstring).vstring_with_len(len) }`.
|
||||||
|
|
||||||
NB: Each `string(...)` function does NOT create a copy of the `cstring`,
|
NB: The .vstring() and .vstring_with_len() methods do NOT create a copy of the `cstring`,
|
||||||
so you should NOT free it after calling `string()`.
|
so you should NOT free it after calling the method `.vstring()`.
|
||||||
If you need to make a copy of the C string (some libc APIs like `getenv` pretty much require that,
|
If you need to make a copy of the C string (some libc APIs like `getenv` pretty much require that,
|
||||||
since they return pointers to internal libc memory), you can use `cstring_to_vstring(cstring)`.
|
since they return pointers to internal libc memory), you can use `cstring_to_vstring(cstring)`.
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user