[Original] A String Conversion Function commonly used in irrlicht
Source: Internet
Author: User
After irrlicht supports Chinese characters, the conversion from char * To wchar_t * is often used during programming. I read the article about l "XX" that was previously reproduced. Article , Write a small function for use. # define xmalloc (s) heapalloc (getprocessheap (), heap_zero_memory, (s ))
# Define xfree (p) heapfree (getprocessheap (), 0, (p) wchar_t * str2wstrptr (const char * pstr)
{
Pstr pmultibytestr = (pstr) pstr;
Pwstr pwidecharstr;
Int nlenofwidecharstr;
// Use the API function multibytetowidechar () to convert a to a Unicode Character
Nlenofwidecharstr = multibytetowidechar (cp_acp, 0, pmultibytestr,-1, null, 0 );
Pwidecharstr = (pwstr) xmalloc (nlenofwidecharstr * sizeof (wchar ));
Multibytetowidechar (cp_acp, 0, pmultibytestr,-1, pwidecharstr, nlenofwidecharstr );
Return pwidecharstr;
} Call str2wstrptr and use xfree to release the space applied by xmalloc. example: Char name [] = "years of silence"; wchar_t * pmyname = str2wstrptr (name); after conversion, it can be used in irrlicht: itextscenenode * Bill = scene-> addtextscenenode (fonts [1], pmyname); xfree (pmyname); you can skip scene-> addtextscenenode (fonts [1], L "silent years"); now.
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.
A Free Trial That Lets You Build Big!
Start building with 50+ products and up to 12 months usage for Elastic Compute Service