請問,如何才能找出在C++中的wchar_t*
類型變量的長度?在C++中獲得`wchar_t *`的長度
代碼下面的例子:
wchar_t* dimObjPrefix = L"retro_";
我想找出dimObjPrefix
多少個字包含
請問,如何才能找出在C++中的wchar_t*
類型變量的長度?在C++中獲得`wchar_t *`的長度
代碼下面的例子:
wchar_t* dimObjPrefix = L"retro_";
我想找出dimObjPrefix
多少個字包含
sizeof (wchar_t);
編輯:
我只注意到了string
標籤。如果你想知道一個wchar_t
串(wchar_t *
)的大小,要使用wcslen(3)
:
size_t wcslen (const wchar_t *ws);
也許sizeof(wchar_t)或wchar_t x後跟sizeof x? – 2010-05-17 23:24:29
@約瑟夫,我花了很長時間才意識到你的意思,我編輯過。謝謝。對困惑感到抱歉。 – 2010-05-17 23:35:37
關於sizeof(),K&R和ANSI Rationale都沒有給出關於括號的這種特性的任何理由;是否有任何SO讀者知道? – 2010-05-18 02:04:16
假設你想終止的C風格的字符串,你有兩個選擇空的長度:
#include <cwchar>
並使用std::wcslen (dimObjPrefix);
,#include <string>
並使用std::char_traits<wchar_t>::length (dimObjPrefix);
。
你是指單個字符還是字符串? – 2010-05-17 23:25:47
對不起,我應該更清楚一點。我想要的字符數。根據http://msdn.microsoft.com/en-us/library/78zh94ax(VS.71).aspx wcslen似乎做我想要的東西感謝tusbar。 – Jacob 2010-05-17 23:39:52
@Jacob:'wchar_t'不是一個字符串,它沒有長度。我假設你問的是'wchar_t *'。你知道,這些星號不只是表演。他們不能被忽略而不改變代碼的含義(和問題) – jalf 2010-05-18 02:29:48