1 size_t strSize[param_index_replace] = 0; 2 /* [NAPI_GEN]: napi_get_value_string_utf8用于将Js字符串转换为UTF-8编码的C字符串 3 * env: N-API环境的句柄,表示当前的上下文 4 * value: 要转换的JavaScript字符串 5 * buf: 用于存储结果的字符数组的指针 6 * bufsize: 缓冲区大小,以字节为单位 7 * result: 转换后的字符串的字节长度(不包括空终止符)。若干buf是NULL,则返回所需的缓冲区大小(包括空终止符) 8 */ 9 /* [NAPI_GEN]: buf参数是NULL时,用于获取所需缓冲区大小*/ 10 status = napi_get_value_string_utf8(env, args[[param_index_replace]], NULL, 0, &strSize[param_index_replace]); 11 if (status != napi_ok) { 12 getErrMessage(status, env, extended_error_info, "get value string", tag); 13 return nullptr; 14 } 15 char *[param_name_replace]In = new char[strSize[param_index_replace] + 1]; 16 /* [NAPI_GEN]: 用于获取字符串*/ 17 status = napi_get_value_string_utf8(env, args[[param_index_replace]], [param_name_replace]In, strSize[param_index_replace] + 1, &strSize[param_index_replace]); 18 if (status != napi_ok) { 19 getErrMessage(status, env, extended_error_info, "get value string", tag); 20 delete[] [param_name_replace]In; 21 return nullptr; 22 } 23 // delete[] [param_name_replace]In; // remember to delete memory 24