2012-03-11 16 views
0

wchar_t配列を短くする必要があります。例:( - 電子メール、始まり0x000005 @ domain.comが始まる0x000001のが)が、任意のメモリがある文句を言わないC++短縮wchar_t配列

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

私の考えは、 "@ domain.com" にアドレスを返すwcsstr

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

wcsncpy (pos,L"",1); 

ことを行うにはリークやゴミは?

+3

あなたは '電子メールが[4] '\ 0' = Lの言うことができるだろう。 –

答えて

3

いいえ、メモリを割り当てていないか、オリジナルのemailポインタを変更していないため、メモリリークが発生しません。 `と` email`を使用し続ける。

より簡単で効率的な構文は、しかし、*pos = '\0';

+0

注目を集めてくれてありがとう:) – user1112008