Create a new JS string.
Syntax
JSString * JS_NewStringCopyN(JSContext *cx, const char *s, size_t n); JSString * JS_NewUCStringCopyN(JSContext *cx, const char16_t *s, size_t n);
| Name | Type | Description |
|---|---|---|
cx |
JSContext * |
Pointer to a JS context from which to derive runtime information. Requires request. In a JS_THREADSAFE build, the caller must be in a request on this JSContext. |
s |
const char* or const char16_t * |
Pointer to the array of characters containing the text for the JS string to create. |
n |
size_t |
Number of characters to copy from s into the new string. |
Description
JS_NewStringCopyN allocates space for a JavaScript string and its underlying storage, and copies n characters from a C character array, s, into the new JSString. JS_NewUCStringCopyN is the Unicode version of the function. The two functions differ only in the type of the character array s; both functions create ordinary JavaScript strings, and all JavaScript strings are made up of 16-bit characters.
If the array s contains more than n characters, the new string contains a truncated version of the original string. The string may contain null characters ('\0'). They are copied into the new string like any other character.
You can use JS_NewStringCopyN to copy binary data or to copy only a certain portion of a C string into a JavaScript string.
On success, JS_NewStringCopyN and JS_NewUCStringCopyN return a pointer to the new JS string. Otherwise they return NULL.
