2012-03-11 59 views
0

我需要缩短wchar_t数组。例如:C++缩短wchar_t数组

wchar_t* email = L"[email protected]"; 
/* Somehow leave in email just "name" */

我的想法做

wchar_t Domain = L"@domain.com"; 
if(!(pos = wcsstr(email, Domain))) 
    return 0; 

wcsncpy (pos,L"",1); 

wcsstr返回地址 “@ domain.com”(0x000001 - 电子邮件开始,0x000005 @ domain.com开始),但不会是任何记忆泄漏或垃圾?

+3

你可以说'电子邮件[4] = L '\ 0';'并继续使用'email'。 – 2012-03-11 16:56:44

回答

3

不,这不会造成任何内存泄漏,因为您没有分配任何内存,或者修改原始指针email

更方便,更有效的语法,虽然会*pos = '\0';

+0

感谢您的关注:) – user1112008 2012-03-11 17:47:18